如何在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
相关产品推荐
相关产品推荐

