VB / ASP.NET,Access GridView单元格值变量

时间:2012-03-30 22:58:10

标签: asp.net gridview

这是应用程序:

有一些行的网格视图。当用户单击Web表单上的编辑时,它会打开几个字段进行编辑。我想要做的是当RowUpdating触发时,检查网格视图中某个字段的值并在一定范围内验证它,然后取消它是否超出该范围。

我实际上已经完成了几乎所有的框架,除了我无法从GridView中的字段中获取值。

我和其他几个人一起搜索过这个网站,所有人都列出了一些解决方案,但都没有。我得到不能转换为字符串/整数,加上其他一些。

有什么建议吗?这是我的最新消息:

    Private Sub gvCourses_RowUpdating(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewUpdateEventArgs) Handles gvCourses.RowUpdating
    Dim x As String
    x = gvCourses.SelectedRow.Cells[3].Text
    MsgBox(x) ' Just a check to see if I get the variable to display the correct value, not part of the final app

我也尝试了以上的不同变体,但都没有奏效。上面的一个我得到System.Web.UI.WebControls.TableCellCollection不能转换为String。

我见过几个例子,但都没有。有人有什么建议吗?

感谢。

3 个答案:

答案 0 :(得分:2)

尝试将该行更改为。

x = TryCast(gvCourses.SelectedRow.Cells(3).Controls(1), TextBox).Text

当gridview处于更新模式时,它会渲染一个文本框(如果它绑定到文本数据),并且单元格将其添加到其controlcollection中。

答案 1 :(得分:1)

您是否尝试过以下操作?:

Dim x As String
x = gvCourses.Rows[e.RowIndex].Cells[3].Text;

答案 2 :(得分:0)

所以我终于弄清楚如何完成我需要的东西。对于其他任何与此相关的人来说,这可能对您有所帮助。

原始问题: - “我想要做的是当RowUpdating触发时,检查网格视图中某个字段的值并在一定范围内验证它,然后取消,如果它超出该范围。”

解决方案:

    Private Sub gvCourses_RowUpdating(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewUpdateEventArgs) Handles gvCourses.RowUpdating
    Dim x As Integer = e.NewValues.Item("Column_Name")
        ' The above grabs the value from the text box of the specified column and assigns it to x. I can then use x to do the validation I noted above.

出现我遇到逻辑问题并试图使用SelectedRows等,当我完全偏离我试图做的事情时。

特别感谢scartag为你的几次尝试提供帮助和丹尼斯。谢谢你们两个!