web-dev-qa-db-ja.com

データテーブルvb.netに新しい行を追加する方法

テキストボックスと「追加」ボタンのあるフォームがあります。

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

現時点では、上のコードのようなものがあります。実際のプログラムでは、名前だけでなく、データテーブルも1つではないため、コードをモックアップするだけです。

そして、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>

誰も私にそれを行う方法をアドバイスできますか?私は自分のコードが壊れていて正しくないことを理解していますが、あなたが私のためにゼロから作業する必要がないように、いくつかのコードを置くだけです。

本当にありがとう。

19
lawphotog

最初の列で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
35
Jay

最初に、次のようにデータテーブル構造を定義する必要があります。

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()
5
iRekk Team