Axapta 如何使数据源真正不可更改?
我有一个由代码创建的表单上的数据源Axapta 如何使数据源真正不可更改?,axapta,Axapta,我有一个由代码创建的表单上的数据源 formBuildDataSource = form.addDataSource("My_table"); 然后我打开了一个细节,其中包含来自同一个表、动态链接和同一数据行的数据源。当我改变一些细节,然后运行 getFirstSelection(formCaller.dataSource(1)); 我不获取旧数据,而是新修改的数据。有没有办法在修改之前从基本表单中获取旧数据?如何使旧表单上的数据源不可更改(对于整个表单的存在) 当我设定 formBuil
formBuildDataSource = form.addDataSource("My_table");
然后我打开了一个细节,其中包含来自同一个表、动态链接和同一数据行的数据源。当我改变一些细节,然后运行
getFirstSelection(formCaller.dataSource(1));
我不获取旧数据,而是新修改的数据。有没有办法在修改之前从基本表单中获取旧数据?如何使旧表单上的数据源不可更改(对于整个表单的存在)
当我设定
formBuildDataSource.autoQuery(false);
formBuildDataSource.autoSearch(false);
我在第一张表格上看不到任何数据。因此,做以下事情会很好:
formBuildDataSource.getData();
formBuildDataSource.autoQuery(false);
formBuildDataSource.autoSearch(false);
Args.record(…)用于其他用途,因此最好不用它
我正在使用AX 2012。不太清楚您想要实现什么目标。如果在修改记录后,您希望检查其字段在更改之前的值(“在进行此修改之前,是否有方法从基本表单获取旧数据”),您可以在进行更改之前复制原始记录,例如
MyTable myTableOrig = myTable.data();
或者,如果不需要系统字段,则
MyTable myTableOrig;
buf2Buf(myTable, myTableOrig);
之后,您可以始终比较当前myTable字段值和复制到myTableOrig的原始字段值。整个过程都是用x++代码完成的,我不知道如何将变量添加到form=new form()创建的表单中;我不知道如何访问form=new form(“form”)创建的form的类定义中创建的变量;