2017-02-10 8 views
0

Dies muss sehr einfach sein, aber ich kann keine Antwort finden.Letzte Zeile ersetzt, wenn Databind

Also ich eine Datentabelle erstellen, die mit einigen Werten gefüllt ist, die ich eine neue Zeile hinzufügen, binden Sie die Daten und es zeigt perfekt. Wenn ich jedoch versuche, die zweite Zeile (manuell) hinzuzufügen, ersetzt sie die erste Zeile, anstatt der Datentabelle eine neue Zeile hinzuzufügen.

private DataTable dtProd = new DataTable(); 

    protected void Page_Load(object sender, EventArgs e) 
    { 
      dtProd.Columns.Add("Des"); 
      dtProd.Columns.Add("Quant"); 

      dtProd.Rows.Add("Lixivia", "10"); 
      dtProd.Rows.Add("Bolachas", "5"); 
      dtProd.Rows.Add("Papel", "15"); 

      GridView1.DataSource = dtProd; 
      GridView1.DataBind(); 
     } 

    protected void BTNAdd_Click(object sender, EventArgs e) 
    { 
     dtProd.Rows.Add(TBDes.Text, TBQuant.Text); 
     TBDes.Text = ""; 
     TBQuant.Text = "0"; 
     GridView1.DataBind(); 
     TBDes.Focus(); 
    } 

Antwort

0

Für Zeilen in eine Datentabelle hinzufügen, sollten Sie NewRow() Methode verwenden:

DataRow dtr = dtProd.NewRow(); 
dtr["Des"] = TBDes.Text; 
dtr["Quant"] = TBQuant.Text; 
dtr.Rows.Add(dtr); 

Sie können für diese MSDN überprüfen: https://msdn.microsoft.com/en-us/library/5ycd1034.aspx

+0

Es tut exactelly dasselbe wie mein Code, aber seine Wird meistens bei Verwendung eines Datenadapters oder eines Datasets verwendet. Das Ergebnis war leider das gleiche. –

+0

@ JoãoPedroSousa Das ist sicherlich die Möglichkeit, Zeilen zu einer DataTable hinzuzufügen. Ich vermute, dass Ihre Grid-Datenquelle nicht aktualisiert wird und das ist das Problem – NicoRiff

+0

Wenn es nicht aktualisiert wird, wie kann ich die letzte Zeile sehen, die ich gerade hinzugefügt habe? Die Aktualisierung verursacht den Datenverlust, soweit ich sehen kann –

Verwandte Themen