XAF的ListView中控制部分行的可编辑性的方法

场景

在自定义的 PopupWindow 中包含了一个允许编辑的 ListView ,但是对于特定的某些数据(在界面呈现为某些行)不允许进行编辑。例如: ListView 呈现了某个业务类( BusinessObjects ) 的所有成员——使用其 Caption 表示。并且使用勾选框来决定某个成员在其业务类所对应的 ListView 中显示与否。其中必填字段是必须显示的,因此不能够对其进行编辑。
在这里插入图片描述
如图所示,客户编号和客户名称是必填字段,因此不能编辑。等级和描述是选填的,因此可以编辑。

实现思路

使用条件外观(Conditional Appearance)的 Enabled 属性,当读取到某成员包含有 RuleRequiredFieldAttribute 时,设置Enabled = false ,使其不可编辑。

因为使用条件外观需要满足一定的规则(Criteria),可以使用一个简单的标志来辅助判定,例如类似于A = 1 或者 B != false 这种简单的判定。 因此需要在业务类( BusinessObjects )上添加一个字段用来使用规则(Criteria)。

public class Temp
{
   
	public bool IsAllowEidtVisible {
    get; set; } // 新增:是否允许编辑可见性
	// ……
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值