web-dev-qa-db-fra.com

comment ajouter de nouvelles lignes dans un vb.net datatable

J'ai un formulaire avec une zone de texte et un bouton "ajouter".

  1. L'utilisateur peut écrire un nom sur la zone de texte et cliquer sur le bouton "ajouter". Il sera enregistré dans une table de données avec ID automatique.
  2. Après cela, la zone de texte est effacée et l'utilisateur peut écrire un autre nom dans la zone de texte et cliquer sur le bouton.
  3. Cela devrait s'ajouter à la table de données existante en mémoire avec l'ID + 1 existant.
  4. Ensuite, affichez dans la vue de la grille. (c'est juste à des fins d'affichage pour confirmer que cela fonctionne)

J'ai un datatable comme celui-ci.

    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 = ""

En ce moment, j'ai parfois aimé le code ci-dessus. dans le vrai programme, ce n'est pas juste un nom et ce n'est pas seulement une table de données, donc je moque juste du code.

et ce code pour 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>

quelqu'un peut-il me conseiller sur la façon de le faire? je comprends que mon code est chié et pas correct mais je dois juste mettre du code pour que vous n'ayez pas besoin de travailler à partir de zéro pour moi.

Merci beaucoup.

19
lawphotog

Voici un exemple d'ajout d'une nouvelle ligne à une table de données qui utilise AutoIncrement sur la première colonne:

Définissez la structure de la table:

    Dim dt As New DataTable
    dt.Columns.Add("ID")
    dt.Columns.Add("Name")
    dt.Columns(0).AutoIncrement = True

Ajouter une nouvelle ligne:

    Dim R As DataRow = dt.NewRow
    R("Name") = txtName.Text
    dt.Rows.Add(R)
    DataGridView1.DataSource = dt
35
Jay

Vous devez d'abord définir la structure de la table de données comme suit:

Dim dt As New DataTable
dt.Columns.Add("ID", Type.GetType("System.String"))
dt.Columns.Add("Name",Type.GetType("System.String"))

Et puis ajoutez une ligne comme:

Dim dr As DataRow = dt.NewRow
dr("ID") = System.GUID.NewGUID()
dr("Name") = txtName.Text
dt.Rows.Add(dr)
DataGridView1.DataSource = dt
DataGridView1.DataBind()
5
iRekk Team