Ho un modulo con una casella di testo e un pulsante Aggiungi.come aggiungere nuove righe in un datable vb.net
- l'utente può scrivere un nome nella casella di testo e fare clic sul pulsante Aggiungi. salverà in un datatable con l'auto ID.
- in seguito, la casella di testo viene cancellata e l'utente può scrivere un altro nome sulla casella di testo e fare clic sul pulsante.
- questo deve essere aggiunto al datatable esistente sulla memoria con ID esistente + 1.
- visualizza sul gridview. (questo è solo a scopo di visualizzazione per confermare che funziona)
Ho un datatable come questo.
Button1.click() event
Dim name = txtname.Text
Dim dt As New DataTable
dt.Columns.Add("ID", GetType(Integer))
dt.Columns.Add("Name", GetType(String))
Dim N As Integer = dt.Columns("ID").AutoIncrement
dt.Rows.Add(N, name)
GridView1.DataSource = dt
GridView1.DataBind()
txtname.Text = ""
Al momento ho un po 'come il codice sopra. nel vero programma, non è solo il nome e non è solo un dato, quindi mi sto solo prendendo in giro un po 'di codice.
e questo codice per aspx.
<asp:TextBox ID="txtname" runat="server">
</asp:TextBox><asp:Button ID="Button1" runat="server" Text="Button" />
<asp:GridView ID="GridView1" runat="server">
</asp:GridView>
qualcuno può consigliarmi come farlo? Capisco che il mio codice sia criptato e non corretto, ma devo solo inserire del codice in modo che voi ragazzi non abbiate bisogno di lavorare da zero per me.
Grazie mille.
non funziona Caro D ... – lawphotog
si aggiunge il nome ma sostituisce il precedente nome in fila (0) – lawphotog
Non definire il DataTable in l'evento click sul pulsante se contiene dati precedenti necessari per mantenerlo in un ambito più ampio. In questo modo puoi aggiungerlo senza chiamare New e rimuovere tutti i dati precedenti. Se vai con dt privato come datatable a livello di classe, definisci la struttura da qualche parte come su load (ma non sul post back) quando aggiungi una riga nel pulsante click per dt non cancellerà prima tutte le informazioni esistenti. – Jay