jQuery MiniUI

标题: datagrid [打印本页]

作者: 小葱儿    时间: 2014-6-11 09:38:20     标题: datagrid

[attach]4663[/attach]
datagrid 中有这么三列.
其中是否按期完成列是根据是否:  回单时间>派发时间在ondrawcell方法中如下得到的,
  function ondrawcell(e) {

  if (e.field == "Isontime") {

                if (e.row.NeedComplete < e.row.CheckTime) {
                    e.cellHtml = "否";
                }
                else {
                    e.cellHtml = "是";

                }

            }

}


我现在遇到的问题是:我想在onDrawSummaryCell得到是否按期完成率,即 在e.field == "Isontime" 中得到为"是" 的占总数的概率,我已经得到了grid.totalCount,现在的问题是我以什么方法得到e.field == "Isontime" 中到为"是" 的条数,麻烦请教下

作者: felt    时间: 2014-6-11 10:01:40

var rows=grid.findRows(function(row){
           if(row.NeedComplete >row.CheckTime) return true
})
rows.length
这样可以获取第三列为是的条数
作者: 小葱儿    时间: 2014-6-11 10:14:34

felt 发表于 2014-6-11 10:01
var rows=grid.findRows(function(row){
           if(row.NeedComplete >row.CheckTime) return true
})

把这个写在onDrawSummaryCell  方法中吗?
     function onDrawSummaryCell(e) {
                var result = e.result;
                var grid = e.sender;
                if (e.field == "DeviceName") {

                    e.cellHtml = "总历史记录个数:" + grid.totalCount + " ";
                }

                var rows = grid.findRows(function (row) {
                    if (row.NeedComplete > row.CheckTime) return true
                })
                alert(rows.lenth);

        }

rows.length为underfind??
作者: factory    时间: 2014-6-11 10:31:56

小葱儿 发表于 2014-6-11 10:14
把这个写在onDrawSummaryCell  方法中吗?
     function onDrawSummaryCell(e) {
                var re ...

调试看看
onDrawSummaryCell  是针对所有内容列的,汇总,正确的,如果你只是需要显示到 是否按期完成 列的下面的话
还需要判断下e.field 当前的列,再做渲染

另外,还有一个解决方法

定义一个全局变量a
在你的ondrawcell里面

在 "是"里面 a+=1;

最后把这个a的值放到汇总内
作者: felt    时间: 2014-6-11 10:35:36

小葱儿 发表于 2014-6-11 10:14
把这个写在onDrawSummaryCell  方法中吗?
     function onDrawSummaryCell(e) {
                var re ...

alert(rows.lenth); //length?




欢迎光临 jQuery MiniUI (http://miniui.com/discuss/) Powered by Discuz! X2