2011-04-08 125 views
5

我想要從gridview中選擇的行使用複選框。 複選框就是這樣! <asp:TemplateField ShowHeader="False"> <ItemTemplate> <asp:CheckBox ID="CheckBox1" runat="server" oncheckedchanged="CheckBox1_CheckedChanged" /> </ItemTemplate> </asp:TemplateField> 我想在每一行中獲得一列。 如何做it.thx!獲取GridView中選定行的索引

回答

3

試試這個:

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

謝謝!它的工作原理! – Justin 2011-04-29 02:31:39

+0

對於嘗試此操作的人來說;添加:使用System.Web.UI.WebControls; – 2016-03-22 15:15:02

2

您可以遍歷GridView行並使用FindControl檢索複選框,然後獲取它們的IsChecked屬性。

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

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

非常感謝它幫助我! – Justin 2011-04-29 02:32:13