如何从gridview获取单元格数据?

时间:2015-01-07 23:30:04

标签: c# asp.net gridview row

当我点击该行中的链接时,我正试图从某些GridView行获取数据......

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" 
                DataSourceID="AccessDataSource1" AllowPaging="True">
                <Columns>
                    <asp:BoundField DataField="nazivTeme" HeaderText="nazivTeme" 
                        SortExpression="nazivTeme" />
                    <asp:BoundField DataField="datum" HeaderText="datum" SortExpression="datum" />
                    <asp:TemplateField HeaderText="View">
                        <ItemTemplate>
                            <asp:LinkButton runat="server" ID="lnkView" commandname="view"
                            OnClick="lnkView_Click">Komentiraj</asp:LinkButton>
                        </ItemTemplate>
                    </asp:TemplateField>
                </Columns>
            </asp:GridView>

我想从我点击LinkBut​​ton(仅第一个单元格)的行中获取数据。 我希望你明白我想要的东西:)

1 个答案:

答案 0 :(得分:1)

不要订阅按钮的Click事件。而是订阅网格视图的RowCommand事件。然后,在事件处理程序中,您可以评估收到的命令以及受影响的行。获得行后,您可以按单元索引或ID获取其单元格值:

protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
  if (e.CommandName == "view")
  {
     // Retrieve the row index
     int index = Convert.ToInt32(e.CommandArgument);

     // Retrieve the row by its index
     GridViewRow row = this.GridView1.Rows[index];

    // Get the 1st cell value from the row
    string cellValue = r.Cells[0].Text;
  }

}