Justin
Justin

Reputation: 686

Get the indexes of selected rows in GridView

I want get the rows I selected from gridview use a checkbox. The checkbox is like this! <asp:TemplateField ShowHeader="False"> <ItemTemplate> <asp:CheckBox ID="CheckBox1" runat="server" oncheckedchanged="CheckBox1_CheckedChanged" /> </ItemTemplate> </asp:TemplateField> And I want to get one column in each row. How to do it.thx!

Upvotes: 5

Views: 3610

Answers (2)

Pranay Rana
Pranay Rana

Reputation: 176896

try this:

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;
    }
}

Upvotes: 4

Alessandro
Alessandro

Reputation: 3761

You can loop through the GridView rows and use FindControl to retrieve the Checkbox and then get the IsChecked property on them.

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

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

Upvotes: 2

Related Questions