asp.net - 使用按钮 asp.net VB 将行添加到数据表?
问题描述
我想知道如何使用按钮将行添加到已经填充的数据表中。我到目前为止的代码是这个......
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
解决方案
这个对我有用。因为我是否存储DataTable
inViewState
以便我可以在DataTable
when it中引用当前关联的数据postback
。您正在初始化方法DataTable
,Page_Load
包括DataTable
. 当您单击 btnadd 按钮时,您不会获得现有的DataSource
. 如果您在方法中分配dt
并ViewState("DataSource ")
在方法中Page_Load
再次声明DataTable
,那么它将起作用,因为以前您现在得到了。最后我想说的是, 不记得你在之前的页面渲染中设置的。btnAdd_Click
Dim dt As DataTable = DirectCast(ViewState("DataSource "), DataTable)
DataSource
DataSource
DataSource
Protected Sub Page_Load(ByVal sender As Object, ByVal e As 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()
ViewState("DataSource ") = dt
End Sub
Protected Sub btnadd_Click(sender As Object, e As EventArgs) Handles btnadd.Click
Dim dt As DataTable = DirectCast(ViewState("DataSource "), DataTable)
GridView1.DataSource = dt
GridView1.DataBind()
dt.Rows.Add("Hi1", "Hi2", "Hi2")
GridView1.DataSource = dt
GridView1.DataBind()
End Sub
推荐阅读
- powershell - PowerShell - 子字符串正则表达式
- php - 如何将字符串中的双反斜杠转换为 PHP 中的一个反斜杠?
- ios - 使用 Alamofire url 响应错误下载 pdf 文件
- java - 类不是抽象的,并且不会覆盖超类中的抽象方法
- scala - 产品需求时间序列的线性回归 SGBD
- java - spring注解@ConditionalOnMissingBean有什么作用?
- ms-access - MS Access 2010:表单打开时的 VBA 导致表单锁定
- java - 如何使用 JProfiler 在调试模式下分析 Java 应用程序
- javascript - 在另一个函数运行后杀死一个函数
- vba - 带有 application.worksheetfunction 的数组上的不匹配错误