获取GridView中所选行的索引

时间:2011-04-08 10:08:40

标签: c# asp.net gridview rows selected

我希望从gridview中选择的行使用复选框。 复选框是这样的! <asp:TemplateField ShowHeader="False"> <ItemTemplate> <asp:CheckBox ID="CheckBox1" runat="server" oncheckedchanged="CheckBox1_CheckedChanged" /> </ItemTemplate> </asp:TemplateField> 我想在每一行中获得一列。 怎么做。谢谢!

2 个答案:

答案 0 :(得分: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;
    }
}

答案 1 :(得分:2)

您可以遍历GridView行并使用FindControl检索Checkbox,然后获取它们的IsChecked属性。

foreach (GridViewRow row in grid.Rows)
{
  CheckBox check = (CheckBox)row.FindControl("CheckboxID");

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