Axapta Ax 2012禁用窗体上的行

Axapta Ax 2012禁用窗体上的行,axapta,microsoft-dynamics,dynamics-ax-2012,x++,Axapta,Microsoft Dynamics,Dynamics Ax 2012,X++,我想通过取消选中表单中的一个复选框来禁用(不可编辑或灰显)表单中的完整记录(行)。在我的代码中禁用表单的所有记录 if(MyTable.ChechBox==NoYes::Yes) { MyTable_ds.allowedit(false); } 您需要将逻辑放在数据源的active(…)方法中 \System Documentation\Classes\FormDataSource\active 你可以简单地说: MyTable\u ds.allowedit(MyTa

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

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

}

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

\System Documentation\Classes\FormDataSource\active

你可以简单地说:

MyTable\u ds.allowedit(MyTable.Checkbox)

您还需要禁用网格上的multiselect

最后,由于实际上“选中”复选框并不会提交记录的
写入(…)
(保存),因此您需要以某种方式处理该问题……或者通过输入复选框
MyTable_ds.write()的修改方法或调用
MyTable\u ds.allowedit(MyTable.Checkbox)再次


您所做的工作有一些细微差别,您必须进行一些小调整才能正常工作……大多数细微差别您都会在操作过程中发现。

您需要将逻辑放入数据源的
活动(…)
方法中

\System Documentation\Classes\FormDataSource\active

你可以简单地说:

MyTable\u ds.allowedit(MyTable.Checkbox)

您还需要禁用网格上的multiselect

最后,由于实际上“选中”复选框并不会提交记录的
写入(…)
(保存),因此您需要以某种方式处理该问题……或者通过输入复选框
MyTable_ds.write()的修改方法或调用
MyTable\u ds.allowedit(MyTable.Checkbox)再次

你正在做的事情有一些细微的差别,你必须做一些小的调整才能正常工作……其中大部分你会在做的时候发现