【问题标题】:VB/ASP.NET, Access GridView cell value to variableVB/ASP.NET,访问 GridView 单元格值到变量
【发布时间】:2012-03-30 22:58:10
【问题描述】:

这是应用程序:

有一些行的网格视图。当用户在 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 不能转换成字符串。

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

谢谢。

【问题讨论】:

    标签: asp.net gridview


    【解决方案1】:

    尝试将该行更改为。

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

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

    【讨论】:

    • 如果我这样做,我会得到: 1. 'TextBox' 是一种类型,不能用作表达式。 2. ')' 预期。
    • @kaylendarr 已修改...请再试一次。
    • .TableCellCollection 无法转换为 [3] 所在的“字符串”和“预期标识符”。\
    • 使用 trycast 可以解决编译错误,但是当我运行更新时出现以下异常错误:对象引用未设置为对象的实例。异常详细信息:System.NullReferenceException:对象引用未设置为对象的实例。
    • @kaylendarr 我已将索引更改为“1”,看看是否是问题所在。
    【解决方案2】:

    您是否尝试过以下方法?:

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

    【讨论】:

    • 是的。我得到 .GridViewRowCollection 无法转换为 'String' 并且括号中的标识符缺少关闭 ']' (它不是)。
    【解决方案3】:

    所以我终于想出了如何完成我所需要的。对于遇到此问题的其他人,这可能对您有所帮助。

    原来的问题: - “我要做的是当 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 多次尝试提供帮助并感谢 Dennis。谢谢两位!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-20
      • 1970-01-01
      • 2014-09-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多