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

时间:2012-02-15 16:48:15

标签: vb.net datatable

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

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

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

    此刻我有时候喜欢上面的代码。在真正的程序中,它不仅仅是名称而且它不仅仅是一个数据表,所以我只是模拟了一些代码。

    和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>
    

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

    非常感谢。

2 个答案:

答案 0 :(得分:34)

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

定义表格结构:

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

添加新行:

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

答案 1 :(得分:5)

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

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

然后添加如下行:

Dim dr As DataRow = dt.NewRow
dr("ID") = System.GUID.NewGUID()
dr("Name") = txtName.Text
dt.Rows.Add(dr)
DataGridView1.DataSource = dt
DataGridView1.DataBind()
相关问题