2016-07-13 14 views
0

Dies ist eine grundlegende Frage, aber ich entsprechende Antworten nicht finden: Ich habe ein dataset, die in dataGridview gezeigt wird, und es enthält eine Spalte Is_Alarm vom Typ bit (boolean), mag ich Fügen Sie in dieser Spalte ein Kontrollkästchen Alle auswählen ein.C# alle Kontrollkästchen, mit Datagridview-Datensatz mit

Ich habe viele Lösungen gesehen, aber sie sind alle über das Einfügen eines neuen Kontrollkästchens in DatagridView. Was ich will, ist es einfügen nach Spalten dargestellt sind, ist hier mein Code:

SqlDataAdapter adap= new SqlDataAdapter(select_query,con); 
       ds = new DataSet(); 
       adap.Fill(ds, "Event_test"); 
       dataGridView1.DataSource = ds.Tables[0]; 
+0

Sie id-Feld Sie beschrieben in der Tabelle haben? Wenn es dann gibt, können Sie alle IDs sammeln und Ihre Operation ausführen –

+0

Ja, ich tue, aber wie ist das? –

Antwort

0

Ich hatte dasselbe Problem, was ich tat könnte nützlich sein für Sie

Dieser Code für Gridview verwendet wird

<asp:GridView ID="GridView1" runat="server" EnableModelValidation="True">    
     <Columns> 
      <asp:TemplateField> 
       <EditItemTemplate> 
        <asp:CheckBox ID="CheckBox1" runat="server" /> 
       </EditItemTemplate> 
       <ItemTemplate> 
        <asp:CheckBox ID="CheckBox1" runat="server" /> 
       </ItemTemplate> 
      </asp:TemplateField> 
     </Columns> 
    </asp:GridView> 

Next I geladenen Daten (MyTable Feld hatte id, Benutzername, E-Mail usw.)

protected void Page_Load(object sender, EventArgs e) 
    { 

     if (!IsPostBack) 
     { 
      con.Open(); 
      SqlDataAdapter adap = new SqlDataAdapter("Select * From UserInfo", con); 
      DataSet ds = new DataSet(); 
      adap.Fill(ds); 
      con.Close();    
      GridView1.DataSource = ds.Tables[0]; 
      GridView1.DataBind(); 
     } 

    } 

Für Ids der ausgewählten Datensätze bekomme ich einige Zeilen verwendet, die hier http://www.aspsnippets.com/Articles/GridView-with-CheckBox-Get-Selected-Rows-in-ASPNet.aspx und verändert auf diese Weise

protected void btnCheckSelected_Click(object sender, EventArgs e) 
    { 

     foreach (GridViewRow row in GridView1.Rows) 
     { 
      if (row.RowType == DataControlRowType.DataRow) 
      { 
       CheckBox chkRow = (row.Cells[0].FindControl("CheckBox1") as CheckBox); 
       if (chkRow.Checked) 
       { 
        string ids = row.Cells[1].Text; 

        ListBox1.Items.Add(ids); 
       } 
      } 
     } 
    }