Axe 2012 禁用表格上的行

Ax 2012 disable row on form

我想通过取消选中记录中的复选框来禁用(不可编辑或灰显)表单中的完整记录(行)。在我的代码中禁用所有形式的记录

if(MyTable.ChechBox==NoYes::Yes)
{    
    MyTable_ds.allowedit(false);    

}

您需要将逻辑放在数据源的 active(...) 方法中。

\System Documentation\Classes\FormDataSource\active

你可以简单地说:

MyTable_ds.allowedit(MyTable.Checkbox);

您还需要在网格上禁用多选。

最后,由于实际上 "checking" 该框不会提交 write(...)(保存)记录,您需要以某种方式处理它...通过放入复选框的修改方法MyTable_ds.write();或再次调用MyTable_ds.allowedit(MyTable.Checkbox);

您正在做的事情有一些细微差别,您必须进行一些小的调整才能正常工作...其中大部分您会在操作过程中发现。