2016-08-04 56 views
-1

我想從類中刷新表格。我想要一個insert()語句後的refreh。這裏是對這個問題更好的解決方案。在插入後刷新表格()

這裏是我的代碼:

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

插入結束了一段時間之後,在這個位置,我會刷新。

+0

我不得不保持我的答案相當通用,因爲我無法根據您發佈的小片段推斷代碼的體系結構。如果我的答案太籠統,那麼請發佈更多的代碼(例如,如何從表單創建和調用你的類,以及使用什麼表等) – DAXaholic

+0

我有一個主要的方法(運行)在這種方法你如何看到我稱之爲readRow和插入方法。 我通過窗體上的按鈕調用run方法。該按鈕開始導入Excel表格。 –

回答

2

通常情況下,您會將想要刷新的表單數據源的引用傳遞給您的課程,然後調用research進行刷新,以便顯示新插入的記錄。

另外,雖然恕我直言,不那麼幹淨,是通過該表單的數據源的緩衝區到您的類,然後(可能在通過isFormDataSource檢查後)通過緩衝區的dataSource方法訪問和刷新數據源。

第三種方法是在您的表單上實現專用方法,僅用於上述刷新數據源的目的。當創建你的類的實例時,你傳遞一個對你的表單的引用,以便你可以在需要時調用該方法。

更新:要了解如何調用窗體上定義的方法,請參閱類Tutorial_Apply和窗體Tutorial_Form_Apply,其中顯示如何調用在窗體上實現的方法applyText。同樣,您可以定義一個方法refreshData,它在您的數據源上調用research

+0

我認爲最後的辦法是最好的辦法。但是我對AX很陌生,所以我不知道要做到這一點。 –

+0

需要我的表單刷新一個特殊方法嗎? 目前我的表單有兩個方法init和classDeclaration。 –

+0

那麼它需要你想從課堂上調用的方法,例如我們稱之爲refreshData。然後在其中您可以調用表單數據源的研究。正如我所提到的,如果你顯示更多的代碼,我可以更具體 – DAXaholic