【问题标题】:Calculate total by javascript in gridview with paging在带有分页的gridview中通过javascript计算总数
【发布时间】:2010-05-02 13:10:08
【问题描述】:

没有分页功能,我可以使用gridview循环遍历

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

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

【问题讨论】:

    标签: asp.net javascript gridview


    【解决方案1】:

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

    我想象你目前没有工作的唯一方法是你让这个代码在最初运行而不是当 UpdatePanel(或其他加载机制)回来时,只需重新获取 gridLength 将解决这个问题,因为更新DOM 中的&lt;table&gt; 将具有正确的行数。

    【讨论】:

    • 问题是我需要遍历所有行来计算总计但是gridLength返回gridview中的行总数例如:grid view的页面大小为3,记录总数数据库为 4。因此,如果我从 0 循环到 gridLength,它将超出范围,因为 gridLength 为 4。如果我将循环设置为页面大小 (3),当它移动到第 2 页时,它将再次超出范围,因为在这个页面中它只剩下 1 行了。
    【解决方案2】:

    在你的循环中,你可以做这样的检查

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

    【讨论】:

      猜你喜欢
      • 2011-08-12
      • 1970-01-01
      • 2011-04-14
      • 1970-01-01
      • 1970-01-01
      • 2021-03-20
      • 1970-01-01
      • 2018-02-16
      • 1970-01-01
      相关资源
      最近更新 更多