在insert()之后刷新类中的表单

时间:2016-08-04 10:00:24

标签: axapta microsoft-dynamics x++ dynamics-ax-2009

我想要从类中刷新表单。我希望在insert()状态之后重新表达。这是解决这个问题的更好方法。

这是我的代码:

try {
    do {  
        row++;  
        this.readRow(row, cells);  
        ttsbegin;  
        this.insert();  
        ttscommit;  
        type = cells.item(row+1, 1).value().variantType();  
     }  
     while (type != COMVariantType::VT_EMPTY);  
                         <--------

插入完成后,在此位置我将刷新。

1 个答案:

答案 0 :(得分:2)

通常,您会将要刷新的表单数据源的引用传递给您的类,然后在其上调用research进行刷新,以便显示新插入的记录。

或者,尽管恕我直言并不干净,但是要将该表单数据源的缓冲区传递给您的类,然后(可能在通过isFormDataSource检查后)访问并通过缓冲区刷新数据源& #39; s dataSource方法。

第三种方法是在表单上实现专用方法,仅用于刷新数据源,如上所述。在创建类的实例时,您可以传递对表单的引用,以便在需要时调用该方法。

更新:要了解如何调用类中表单上定义的方法,请参阅类Tutorial_Apply和表单Tutorial_Form_Apply,其中显示了如何调用实现的方法applyText表格。同样,您可以定义一个方法refreshData,在您的数据源上调用research