关于MR的CheckBox的一个需求
现在有这么一个需求,简化来说是下面这样子的。MR一共三列,第一列是RowHeader,显示行序号
第二列是数字列,显示0或者1,不能编辑
第三列是CheckBox,可以进行勾选
在第三列的值发生变更的时候,对第二列的值进行判断,如果是1,就MsgBox说不能进行变更。如果是0,则勾选上。
要求,MsgBox的时候,第三列的值应该保持不变的状态。
比如,本来第三列是勾选上的状态,我通过鼠标点击了一下,需要提示我不能进行变更。并且保持CheckBox的状态不变更。
麻烦给我整个简单的Demo,
注:这个机能客户不希望发生变动。也就是说该报MSG的时候,还是出MSG
请问,这个问题有人Flow了么?
有没有解决方案??
抱歉没有及时处理您的问题,这边已经通知相关技术人员立刻处理您的问题,赠送您2000金币以示歉意。 把使用CheckBoxCell的地方替换为使用MyCheckBoxCell就可以了。
class MyCheckBoxCell : CheckBoxCell
{
public override object EditingCellFormattedValue
{
get
{
return base.EditingCellFormattedValue;
}
set
{
var otherColumnValue = this.GcMultiRow.GetValue(this.RowIndex, 1);
if (object.Equals(otherColumnValue, 1))
{
MessageBox.Show("不能修改,因为另一列的值是1");
return;
}
base.EditingCellFormattedValue = value;
}
}
} robert 发表于 2018-1-19 17:40
把使用CheckBoxCell的地方替换为使用MyCheckBoxCell就可以了。
如果存在需要判断其他单元格的值的情况下,如何处理?
按照这种思路,每一个处理都需要定义一个自己的MyCheckBoxCell么?
> 如果存在需要判断其他单元格的值的情况下,如何处理?
代码中 this.GcMultiRow.GetValue(this.RowIndex, 1); 的1 表示CellIndex,如果要判断其他单元格的值,把1 换成其他单元格的CellIndex就可以了。
> 按照这种思路,每一个处理都需要定义一个自己的MyCheckBoxCell么?
是的
页:
[1]