Как добавить новые строки в datatable vb.net

У меня есть форма с текстовым полем и кнопкой добавления.

  • пользователь может записать имя в текстовое поле и нажать кнопку "Добавить". он сохранит данные с автоматическим идентификатором.
  • после этого текстовое поле очищается, и пользователь может записать другое имя в текстовое поле и нажать кнопку.
  • это должно добавить к существующим данным по памяти с существующим ID + 1.
  • показать на экране сетки. (это просто для демонстрации, чтобы подтвердить, что оно работает).

У меня есть подобный datatable.

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

На данный момент я когда-то, как и код выше. в реальной программе это не просто имя, и это не только один datatable, поэтому я просто макетирую какой-то код.

и этот код для 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>

Может кто-нибудь посоветует мне, как это сделать? Я понимаю, что мой код испорчен и не правильный, но мне просто нужно добавить код, чтобы вы, ребята, не работали с нуля для меня.

Большое спасибо.

Ответ 1

Вот пример добавления новой строки в datatable, которая использует 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

Ответ 2

Сначала Вам необходимо определить структуру таблицы данных следующим образом:

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()