我有一个由可编辑文本框组成的 GridView。当用户输入一个值时,该OnTextChanged
函数调用我的UpdateColumns()
方法,该方法执行各种计算并改变整个 GridView。我将用户输入限制为仅数字,因此当用户在任何单元格中输入字母字符时操作会出错。出现此错误时,我想恢复到用户输入字母字符之前立即存在的数据表。
有没有办法捕获当前 GridView 的数据源并存储在 DataTable 中?
我尝试了以下方法(绑定数据表后):
Dim dt As DataTable = DirectCast(gvBuildingBlocks.DataSource, DataTable)
Session("buildingBlocks") = dt
'If textboxes are all numeric, perform calculations here
'Else display error here and bind table below
gvBuildingBlocks.DataSource = CType(Session("buildingBlocks"), DataTable)
gvBuildingBlocks.DataBind()
上面的结果是一个空的gridview,因为值为gvBuildingBlocks.DataSource
空。我还能做些什么来获取这些值吗?
我想我可以遍历所有行并以某种方式保存它们,如下所示:
For Each row As GridViewRow in gvBuildingBlocks.Rows
'Save cell value here
Next
但我不知道用什么代码来保存值?
任何帮助深表感谢。
谢谢!