如何将新行添加到数据表vb.net中

law*_*tog 20 vb.net datatable

我有一个带有文本框和添加按钮的表单.

  1. 用户可以在文本框中写下名称,然后单击"添加"按钮.它将保存在具有自动ID的数据表中.
  2. 之后,文本框将被清除,用户可以在文本框中写入另一个名称,然后单击按钮.
  3. 这应该添加到具有现有ID + 1的内存上的现有数据表.
  4. 在gridview上显示.(这只是为了显示目的确认它有效)

我有这样的数据表.

    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 = ""
Run Code Online (Sandbox Code Playgroud)

目前我有点像上面的代码.在真正的程序中,它不仅仅是名称,它不仅仅是一个数据表,所以我只是模拟了一些代码.

这个代码为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>
Run Code Online (Sandbox Code Playgroud)

任何人都可以建议我怎么做?我理解我的代码是废话但不正确但我只需要放一些代码,这样你们就不需要为我工作了.

非常感谢.

Jay*_*Jay 37

下面是向第一列上使用AutoIncrement的数据表添加新行的示例:

定义表结构:

    Dim dt As New DataTable
    dt.Columns.Add("ID")
    dt.Columns.Add("Name")
    dt.Columns(0).AutoIncrement = True
Run Code Online (Sandbox Code Playgroud)

添加新行:

    Dim R As DataRow = dt.NewRow
    R("Name") = txtName.Text
    dt.Rows.Add(R)
    DataGridView1.DataSource = dt
Run Code Online (Sandbox Code Playgroud)

  • OMG .. 我确实问过这个问题.. 现在看起来很傻。 (2认同)

小智 5

首先,您需要定义数据表结构,如下所示:

Dim dt As New DataTable
dt.Columns.Add("ID", Type.GetType("System.String"))
dt.Columns.Add("Name",Type.GetType("System.String"))
Run Code Online (Sandbox Code Playgroud)

然后添加如下行:

Dim dr As DataRow = dt.NewRow
dr("ID") = System.GUID.NewGUID()
dr("Name") = txtName.Text
dt.Rows.Add(dr)
DataGridView1.DataSource = dt
DataGridView1.DataBind()
Run Code Online (Sandbox Code Playgroud)