2012-09-14 24 views
0

我有一段JavaScript代碼應該遍歷子網格的所有行。在Dnamics CRM 2011中閱讀一個子網格的所有記錄,而不考慮JavaScript中的活動頁面

for (var intRowNumber = 0; intRowNumber < gridControl.getRecordsFromInnerGrid().length; intRowNumber++) 
{ 
    // do stuff 
} 

我的問題是,此代碼只遍歷當前子網頁中的項目。例如,我的網格可以在一頁中攜帶4條記錄。如果我有5條記錄,導致第二頁,當我在第一頁時,我無法以這種方式讀取第五條記錄。相似的,如果我進入第二頁,只有第五條記錄被讀取,而第四條記錄將被忽略。

有沒有辦法解決這個問題?我會很高興爲任何代碼片段或重定向到文檔/教程。

在此先感謝。

回答

1

我不認爲這將永無止境。 JavaScript只能返回頁面上的內容,Crm只加載當時需要的數據。

要獲取視圖中的所有記錄,我建議使用Web服務調用來獲取所需的所有數據。

您可能會發現這比解析網格更容易和更可靠。我建議爲此開始here

+0

哦,這實際上是有道理的。我想也許這些數據是隱藏的,但仍然在頁面上,並且可以訪問。乾杯! – tdgtyugdyugdrugdr

+0

你應該刪除這個答案,因爲它是可能的:) –

1

This link將更適用於您的情況。您只需製作一個RibbonButton並設置一個控件,以便它將返回活動網格的所有ID。 在鏈接中您將擁有「SelectedControlSelectedItemIds」,但您有更多選項可用。

如果您更改解決方案的XML。你的功能將需要一個參數。

function getSelectedItems(arrayOfIDS){ 
    for(var i = 0; i < arrayofIDS.length;i++) 
    { 
      //Your implementation here 
    } 
} 

這會很好地工作。如果您不知道如何更改解決方案的XML。 This link將幫助你做到這一點!

+0

非常感謝!我會檢查出來 – tdgtyugdyugdrugdr

+0

解決方案是否正常工作? –

+0

不好意思,我對這種方法有些困惑,只是爲了檢索數據而添加一個按鈕似乎不是正確的方法。 –

相關問題