2017-03-22 4 views
0

Ich habe Gridview voll mit Daten und ich brauche, wenn einige Zeilen überprüft werden kann ich in der Lage sein, den Knopf zu drücken und die Daten entsprechend ändern, kann ich es tun, wenn alle Zeilen überprüft werden, aber ich kann nicht finden eine Möglichkeit, meine Abfragen mit der ID einer oder mehrerer Zeilen zu verbinden.Gridview Zeile ID

+0

können Sie ASPX-Teil hinzufügen. So kann ich leicht verstehen. Brauchen Sie mehr Details – Rajan

Antwort

0

@Nemanja, Sie möchten ID von jedem Datensatz dann nur erhalten Sie in der Lage, basierend auf ID zu aktualisieren. Zunächst binden Id des Datensatzes in Raster und versuchen ID in Schaltfläche Click-Ereignis dieses

0

Versuchen Sie:

protected void UsedForButton_Click(object sender, EventArgs e) 
{ 
    foreach (GridViewRow row in GridView1.Rows) 
    { 
     CheckBox checkbox1 = (CheckBox)row.FindControl("InStockCbx"); 
     if (checkbox1.Checked) 
     { 
      int id = Convert.ToInt32(GridView1.DataKeys[row.RowIndex].Value.ToString());   
      SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["cn"].ConnectionString); 
      SqlCommand cmd = new SqlCommand ("UPDATE WorkTable SET InStock = 0 WHERE Id = @Id"", con); 
      cmd.CommandType = CommandType.Text; 
      cmd.Parameters.Add("@Id", SqlDbType.Int).Value = id; 
      con.Open(); 
      cmd.ExecuteNonQuery(); 
      con.Close(); 
      cmd.Dispose(); 
     } 
    } 
} 

Hinweis: Sie benötigen Datenschlüssel in Ihrer .aspx Vorlage angeben, wie hier:

<asp:GridView ID="GridView1" runat="server" DataKeyNames="id" ...>