2017-05-04 100 views
0

我有一个有7列的GridView。列中有6个具有LinkBut​​tons。从选定的行gridview获取单元格值

我想要做的是,获取第一列中的数据值,并在点击其中一个LinkBut​​ons时将其放置在页面中其他位置的标签中。

例如,第一列的值如下所示:01:00 - 02:00。

这是我到目前为止有:我的GridView控件被命名为gvappts

我已经加入这个属性:OnRowDataBound="gvappts_DataBound"

而且里面gvappts我了LinkBut​​ton之一,我已经添加命令命令参数<asp:LinkButton id="lbd1" runat="server" Text='<%#(Eval("Day1"))%>' CommandName="GetData" CommandArgument='<%# Container.DataItemIndex %>'/>

因为我想选择当前行。

在我的.cs我有这样的:

protected void gvappts_RowCommand(object sender, System.Web.UI.WebControls.GridViewCommandEventArgs e) 
    { 
     if (e.CommandName == "GetData") 
     { 
      //Get rowindex 
      int rowindex = Convert.ToInt32(e.CommandArgument); 
      //Get Row 
      GridViewRow gvr = gvappts.Rows[rowindex]; 
      //Set the label value 
      lblTimeSelected.Text = gvr.Cells[0].Text; 
     } 
    } 

点击按钮时,我没有得到任何错误,但没有返回值。我忽略了什么?

+0

为什么不将相同的源列绑定到绑定到网格第一列的'CommandArgument'。 – niksofteng

回答

2

试试这个。

GridViewRow gvr = gvappts.Rows[rowindex]; 
Label myLabel = gvr.FindControl("MyLabel Id") as Label ; 
lblTimeSelected.Text = myLabel.Text; 
相关问题