用按钮asp.net VB向数据表添加行?

时间:2018-07-04 21:15:24

标签: asp.net vb.net datatable

我想知道如何使用按钮向已填充的数据表中添加行。到目前为止,我的代码是...

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        Dim dt As New DataTable("Dt")
        dt.Columns.Add("test1")
        dt.Columns.Add("test2")
        dt.Columns.Add("test3")

        GridView1.DataSource = dt
        GridView1.DataBind()

    End Sub

    Protected Sub btnadd_Click(sender As Object, e As EventArgs) Handles btnadd.Click

        Dim dt As New DataTable

        dt.Rows.Add(TextBox1.Text, TextBox2.Text, TextBox3.Text)
        GridView1.DataSource = dt
        GridView1.DataBind()

    End Sub

1 个答案:

答案 0 :(得分:1)

对我有用。因为我将DataTable存储在ViewState中,以便在DataTable时可以引用postback中关联的当前数据。 您正在DataTable方法中初始化Page_Load,其中包括DataTable的标头。当您单击btnadd按钮时,您将没有现有的DataSource。如果您在dt方法的ViewState("DataSource ")中分配了Page_Load,并在DataTable方法中再次声明了btnAdd_Click,就像Dim dt As DataTable = DirectCast(ViewState("DataSource "), DataTable)那样,它将起作用,因为先前的{{ 1}},您现在就开始。最后,我想说的是DataSource不记得您在页面的上一渲染中设置的DataSource

DataSource