我想知道如何使用按钮向已填充的数据表中添加行。到目前为止,我的代码是...
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
答案 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