jQuery MiniUI

标题: summaryRenderer不能及时刷新问题 [打印本页]

作者: zhangting    时间: 2017-11-23 14:44:49     标题: summaryRenderer不能及时刷新问题

需求:某一列是某两列(这两列是可编辑的)的相差数;
代码如下:  
             <div field="PDCY" width="90" headerAlign="center" allowSort="true" summaryRenderer="summaryRenderer">盈亏数
                 <input field="PDCY" id="PDCY"  class="mini-spinner"  style="width:100%;" minValue="0" maxValue="1000000000000"/>
            </div>

      //差异数
        function summaryRenderer(e){
             var rows = e.data;
            for (var i = 0, l = rows.length; i < l; i++) {
                var row = rows[i];
                if(row.KCSL&&row.KCSL>0&&row.PDS&&row.PDS>0){
                   e.data[i].PDCY=row.KCSL-row.PDS;
                   row.PDCY=row.KCSL-row.PDS;
                    grid.accept();
                }
               }
        }

问题:需要编辑两下编辑框才能出现上一次的差异处

作者: felt    时间: 2017-11-23 15:05:13

    function summaryRenderer(e){
             var rows = e.data;
            for (var i = 0, l = rows.length; i < l; i++) {
                var row = rows[i];
                if(row.KCSL&&row.KCSL>0&&row.PDS&&row.PDS>0){
                   e.data[i].PDCY=row.KCSL-row.PDS;
                   row.PDCY=row.KCSL-row.PDS;
                   return row.KCSL-row.PDS;
                }
               }
        }
作者: zhangting    时间: 2017-11-23 16:34:20

summaryRenderer return好像不好使,什么也返回不了。
作者: felt    时间: 2017-11-23 17:12:12

zhangting 发表于 2017-11-23 16:34
summaryRenderer return好像不好使,什么也返回不了。

[attach]10209[/attach]可以的,这个合计行的统计。
你这里方法有问题,遍历所有行计算,需要return 计算结果
作者: zhangting    时间: 2017-11-23 17:39:06

felt 发表于 2017-11-23 17:12
可以的,这个合计行的统计。
你这里方法有问题,遍历所有行计算,需要return 计算结果 ...

情况有点不一样。[attach]10210[/attach]

是这种情况,编辑实盘数,盈亏数会实时变化。而不是最下面的汇总行,您看我用的方法是不是不正确?
作者: felt    时间: 2017-11-24 09:29:31

zhangting 发表于 2017-11-23 17:39
情况有点不一样。

是这种情况,编辑实盘数,盈亏数会实时变化。而不是最下面的汇总行,您看我用的方法是 ...

那你的理解就不对了,summaryrender是汇总行绘制,不是你这最后一列的绘制。
你看一下这个示例http://miniui.com/demo/#src=datagrid/drawcell2.html
通过ondrawcell事件来处理。




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