2010-05-02 17 views
0

沒有尋呼功能,我可以通過GridView環路通過使用計算總通過gridview的JavaScript和尋呼

var sum = 0; 
var gridViewCtlId = '<%=timesheetView.ClientID%>'; 
var grid = document.getElementById(gridViewCtlId); 
var gridLength = grid.rows.length; 

所以用gridLength我可以循環通過GridView總結所有行。但是,當我使用gridview的分頁事件時,我使用頁面大小循環遍歷所有行,但由於最後一頁可能沒有足夠的行,所以發生錯誤。那麼,請你幫助我如何獲取gridview每一頁中的行?

回答

0

你有什麼是正確的,只是在計算總和之前更新gridLength屬性。 JavaScript沒有辦法知道行數,直到網格出現在頁面上,但這就是您現在正在做的事情,因此只需更新該行數即可。

我只畫出你目前沒有工作的方法是你有這個代碼最初運行,而不是當UpdatePanel(或其他加載機制)回來時,只是重新抓住gridLength將解決此問題,因爲更新的<table>在DOM中將有正確的行數。

+0

問題是檢查我需要遍歷所有的行來計算總但gridLength返回行的總數在GridView 對於例如:網格視圖的頁面大小爲3,數據庫中的記錄總數爲4. 因此,如果我從0循環到gridLength,它將超出限制,因爲gridLength是4. 如果我將循環設置爲頁大小(3),當它移動到頁面2時,它會再次出現界限,因爲在這個頁面中它只剩下1行。 – louis 2010-05-03 17:07:33

0

在你的循環,你可以這樣做

if (grid.rows[rowIndex]){ 
// Your code to calculate sum goes here 
}