2

グリッド ビューとデータ リストがあります (ボットにはそれぞれいくつかの列とリンク ボタンが含まれています) グリッド ビューのリンク ボタンをクリックしてデータ リスト リンク ボタン コントロールを見つけるにはどうすればよいですか (グリッド ビュー データはデータによって生成されます)リストリンクボタンと両方に言及された同じデータキーがあります)私が持っている関連コードはこれです

protected void Gird1_Click(object sender, GridViewDeleteEventArgs e)
{
    Label id = (Label)Grid1.Rows[e.RowIndex].FindControl("lbl_PID");

    DataTable dt = (DataTable)ViewState["DataTable"];
    if (dt.Rows.Count > 0)
    {
        for (int i = 0; i < dt.Rows.Count; i++)
        {
           if (dt.Rows[i]["P_ID"].ToString() == id.Text)
            {
                dt.Rows[i].Delete();
            }
        }
    }
   // LinkButton lnkbtn = (LinkButton)DataList1.Items[e.RowIndex].FindControl("lnk_Add"); 

    LinkButton lnkbtn = (LinkButton)DataList1.  [Convert.ToInt32(id.Text)];//FindControl("lnk_Add"); 
    lnkbtn.Enabled = true;
    ViewState["DataTable"] = dt;
    Grid1.DataSource = ViewState["DataTable"];
    Grid1.DataBind();
}
4

2 に答える 2

0

ついに....

    int increment = 0;
    int count = DataList1.Items.Count-1;
    while (increment<=count)
    {


        Label datalist_id = (Label)DataList1.Items[increment].FindControl("lbl_PID");
        if (id.Text == datalist_id.Text)
        {
            LinkButton lnkbtn = (LinkButton)DataList1.Items[increment].FindControl("lnk_Add");
            lnkbtn.Enabled = true;
        }
        increment = increment + 1;
    }
于 2013-04-01T06:33:32.830 に答える
0

これらの 2 つのリンク ボタンと、グリッドビューのリンク ボタンの onclick に同じ名前を付けます。

{
   linkbutton lnkGridview=(linkbutton)sender;
   foreach(datalistitem item in datalist1.items)
  {
     linkbutton lnkDatalist=(linkbutton)item.findcontrol(lnkGridview.ClientID);
  }

}
于 2013-03-29T10:25:14.650 に答える