【发布时间】:2020-03-23 09:05:13
【问题描述】:
我在 PXGrid 中有“选中”复选框列,当我选中它时,页面回发并且选中状态不会丢失,但是当我单击自定义操作按钮然后选中复选框时,我应该怎么做才能保持复选框状态?
在操作按钮点击时,我打开了一个对话框,这里所有复选框都未选中,PrimaryView 和对话框数据成员不同。
我应该怎么做才能保持复选框状态?
【问题讨论】:
-
你是否在字段中设置了“提交更改”?
我在 PXGrid 中有“选中”复选框列,当我选中它时,页面回发并且选中状态不会丢失,但是当我单击自定义操作按钮然后选中复选框时,我应该怎么做才能保持复选框状态?
在操作按钮点击时,我打开了一个对话框,这里所有复选框都未选中,PrimaryView 和对话框数据成员不同。
我应该怎么做才能保持复选框状态?
【问题讨论】:
Selected 标识符在处理屏幕中具有特殊含义。 Acumatica 框架将不同的行为应用于名为Selected 的字段。对于处理屏幕,需要有一个名为Selected 的字段。在这种情况下,您应该避免将字段命名为 Selected。
确保字段使用PXDBBool 属性而不是PXBool 属性进行修饰。只有带有PXDB 前缀的字段才会被持久化到数据库中。
将数据库和 DAC 中的字段名称从 Selected 更改为其他名称,例如 IsChecked。
public abstract class isChecked : PX.Data.BQL.BqlBool.Field<isChecked> { }
[PXDBBool]
[PXUIField(DisplayName="Selected")]
public virtual Boolean? IsChecked
{
get;
set;
}
【讨论】:
yourviewname.Cache.Persist(PXDBOperation.Update);
【讨论】: