在gridview asp.net中获取单击的单元格

时间:2017-08-03 05:56:07

标签: asp.net gridview

我得到了gridview,我填写了数据库中的数据。我想捕获一个click事件并获取单元格行和列的属性。

我发现的是行点击,我可以点击该行。 另外,如果有其他组件来部署数据,并且可以让我看到单元格点击事件对我来说已经足够了。

HTML:

<div class="grid">
    <asp:GridView ID="HistoricGrid" runat="server"></asp:GridView>
</div>

C#

DBconnection db = new DBconnection();
string strtable = "select * from StudentVisit";
DataTable dt = db.ReadDataTable(strtable);
HistoricGrid.DataSource = dt; HistoricGrid.DataBind();

感谢您的帮助, 摩西

2 个答案:

答案 0 :(得分:0)

你应该试试这个。

   <asp:GridView ID="GridView1" AutoGenerateColumns="False" ShowHeader="True" runat="server" OnRowDataBound="GridView1_RowDataBound">
     <Columns>
      <asp:BoundField HeaderText="Value" DataField="ItemValue" ReadOnly="true" />
      <asp:BoundField HeaderText="Text" DataField="ItemText" ReadOnly="true" />
      <asp:TemplateField>
       <ItemTemplate>
        <asp:LinkButton ID="LinkButton1" runat="server"></asp:LinkButton>
       </ItemTemplate>
      </asp:TemplateField>
     </Columns>
    </asp:GridView>

aspx.cs文件

protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
 if ( e.Row.RowType == DataControlRowType.DataRow )
 {
  LinkButton linkButton = (LinkButton)e.Row.FindControl("LinkButton1");

  if (linkButton != null)
  {
   linkButton.Attributes.Add("onclick", "window.open('someURL'); return false;");
  }
 }

}

答案 1 :(得分:0)

您可以使用以下代码

private void gv_Cell_Click(object sender, GridViewCellEventArgs e)
       {
           int cellindex=e.CellIndex;
           int rowindex =e.rowindex;
           var value = gv.Rows[rowindex].Cells[cellindex].value;

       }