You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在RadGrid中自动修改GridEditableItem指定字段的值?

RadGrid自动修正Weight字段值的实现

要实现当Weight字段为空或低于阈值时自动设为最小值,需要同时更新提交的数值集合和界面编辑控件,确保数据与显示一致。修改后的完整代码如下:

Dim item As GridEditableItem = e.Item, values As New Hashtable 'e is from GridCommandEventArgs
rgRadGrid1.MasterTableView.ExtractValuesFromItem(values, item)
Dim w As Integer
Dim minWeight As Integer = 5 ' 替换为你的实际阈值

' 解析Weight值,空值或非数字统一设为0
If Not Integer.TryParse(values("Weight"), w) Then
    w = 0
End If

' 当值低于阈值时自动修正
If w < minWeight Then
    ' 1. 更新提交用的values集合,确保存入数据源的是最小值
    values("Weight") = minWeight.ToString()
    
    ' 2. 更新界面编辑控件,同步显示修正后的值
    Dim weightTextBox As TextBox = TryCast(item("Weight").Controls(0), TextBox)
    If weightTextBox IsNot Nothing Then
        weightTextBox.Text = minWeight.ToString()
    End If
End If

关键说明:

  • 更新values集合:ExtractValuesFromItem提取的值会用于后续数据保存,必须修改此处的"Weight"值,才能保证最终存入数据库的是阈值最小值。
  • 更新界面控件:通过item("Weight").Controls(0)获取对应列的编辑控件(通常为TextBox),设置其文本为最小值,让界面同步显示修正结果,无需告知用户。
  • 健壮性处理:用TryCast避免控件类型不匹配引发的异常,提升代码稳定性。

内容的提问来源于stack exchange,提问作者Michael Foster

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.21 01:59:56