Получить индексы выбранных строк в GridView - PullRequest
5 голосов
/ 08 апреля 2011

Я хочу получить строки, которые я выбрал в gridview, с помощью флажка.Флажок такой!<asp:TemplateField ShowHeader="False"> <ItemTemplate> <asp:CheckBox ID="CheckBox1" runat="server" oncheckedchanged="CheckBox1_CheckedChanged" /> </ItemTemplate> </asp:TemplateField> И я хочу получить по одному столбцу в каждой строке.Как это сделать. Thx!

Ответы [ 2 ]

4 голосов
/ 08 апреля 2011

попробуйте это:

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;
    }
}
2 голосов
/ 08 апреля 2011

Вы можете пройтись по строкам GridView и использовать FindControl, чтобы получить флажок, а затем получить для них свойство IsChecked.

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

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