在GridView中获取所选行的索引

5
我想使用复选框从网格视图中选择的行。 复选框如下所示! <asp:TemplateField ShowHeader="False"> <ItemTemplate> <asp:CheckBox ID="CheckBox1" runat="server" oncheckedchanged="CheckBox1_CheckedChanged" /> </ItemTemplate> </asp:TemplateField> 并且我想在每一行中获取一列。 如何做到这一点。谢谢!
2个回答

4

试试这个:

protected void CheckBox1_CheckedChanged(object sender, System.EventArgs e)
{
    CheckBox checkbox = (CheckBox)sender;
    GridViewRow row = (GridViewRow)checkbox.NamingContainer;
    if (checkbox.Checked == true) {
        row.BackColor = System.Drawing.Color.Red;
        mygridview.Columns(0).Visible = false;
    }
}

对于尝试此操作的人,请添加以下内容:using System.Web.UI.WebControls; - Bengi Besçeli

2
您可以循环遍历GridView行并使用FindControl检索复选框,然后获取它们的IsChecked属性。
foreach (GridViewRow row in grid.Rows)
{
  CheckBox check = (CheckBox)row.FindControl("CheckboxID");

  if (CheckBox1.Checked)
  {
   ...
  } 
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接