通过网格视图中的javascript计算总计

时间:2010-05-02 13:10:08

标签: asp.net javascript gridview

如果没有分页功能,我可以使用

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

所以使用gridLength我可以遍历gridview来汇总所有行。但是,当我使用gridview的分页事件时,我使用页面大小来遍历所有行,但它会发生错误,因为最后一页可能没有足够的行。那么请你帮我解决如何在gridview的每一页中获取行?

2 个答案:

答案 0 :(得分:0)

您所拥有的是正确的,只需在计算总和之前更新gridLength属性即可。 javascript无法知道行数,直到网格出现并出现在页面上......但这就是你已经在做的事情,所以只需更新行数。

我想象你当前没有工作的唯一方法是你最初运行这个代码,而不是当UpdatePanel(或其他加载机制)回来时,只需重新抓取gridLength就可以解决这个问题。 DOM中更新的<table>将具有正确的行数。

答案 1 :(得分:0)

在循环中,您可以像这样进行检查

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