jQuery MiniUI

 找回密码
 立即注册
查看: 8611|回复: 14
打印 上一主题 下一主题

DataGrid中的合计drawsummarycell [复制链接]

Rank: 2

跳转到指定楼层
楼主
发表于 2013-5-24 10:52:03 |只看该作者 |倒序浏览
我想请教一下,关于客户端合计。
当 DataGrid中对应的列值发生变化,合计部分会自动合计吗?

Rank: 8Rank: 8

沙发
发表于 2013-5-24 11:15:46 |只看该作者
不会,
1.可以保存数据,然后reload()表格
2.可以监听表格 单元格编辑完成 事件  
grid.getSummaryCellEl(columnName).innerHTML = ""

Rank: 2

板凳
发表于 2013-5-24 11:40:25 |只看该作者
factory 发表于 2013-5-24 11:15
不会,
1.可以保存数据,然后reload()表格
2.可以监听表格 单元格编辑完成 事件  

ondrawsummarycell事件会触发的啊,以前就这么写过,还以为是新版本的变化呢,我刚刚还验证了一次

Rank: 8Rank: 8

地板
发表于 2013-5-24 11:45:31 |只看该作者
obaba 发表于 2013-5-24 11:40
ondrawsummarycell事件会触发的啊,以前就这么写过,还以为是新版本的变化呢,我刚刚还验证了一次 ...

是会触发,但是需要你自己去计算修改合计里面的内容

Rank: 2

5#
发表于 2013-5-24 11:58:42 |只看该作者
factory 发表于 2013-5-24 11:45
是会触发,但是需要你自己去计算修改合计里面的内容

前台计算合计不就是这样实现的吗

Rank: 8Rank: 8

6#
发表于 2013-5-24 12:12:15 |只看该作者
obaba 发表于 2013-5-24 11:58
前台计算合计不就是这样实现的吗

给列设定summaryType="max(count|min|max|sum|avg)",不然我们不知道你的汇总到底是相乘还是相加,还是平均,还是最大最小

然后监听ondrawsummarycell

e.cellHtml = 。。。

具体参考:http://www.miniui.com/demo/#src=datagrid/summary.html

Rank: 2

7#
发表于 2013-5-24 12:20:45 |只看该作者
factory 发表于 2013-5-24 12:12
给列设定summaryType="max(count|min|max|sum|avg)",不然我们不知道你的汇总到底是相乘还是相加,还是平 ...

所噶,原来还能这样。。

Rank: 2

8#
发表于 2013-5-24 13:57:39 |只看该作者
    <div style="width:1000">
        <fieldset style="border-color: #FF9900;">
        <legend>承揽比例</legend>
            <div class="mini-toolbar" style="border-bottom:0;padding:0px;">
                <table style="width:100%;">
                    <tr>
                        <td style="width:100%;">
                            <a class="mini-button" iconCls="icon-add" plain="true">增加</a>
                            <span class="separator"></span>
                            <a class="mini-button" iconCls="icon-remove" plain="true">删除</a>
                            <span class="separator"></span>
                            <a class="mini-button" iconCls="icon-save" plain="true">保存</a>
                        </td>
                        <td style="white-space:nowrap;"></td>
                    </tr>
                </table>           
            </div>
            <div id="dgRate" class="mini-datagrid" showPager= "false" multiSelect="true"
                 showSummaryRow="true" >
                <div property="columns">
                    <div type="checkcolumn"  width="30" headerAlign="center"></div>
                    <div type="indexcolumn"  width="50" headerAlign="center">状况</div>
                    <div name="headDept" field="headDept_ID" displayField="headDept_NAME" width="150" headerAlign="center" >部门
                        <input property="editor" class="mini-combobox" valueField="ID" textField="NAME" style="width:100%;"
                            url="JsonService/CMS_Service.aspx?method=QueryHeadDepts" />
                    </div>
                    <div name="dept" field="dept_ID"  displayField="dept_NAME"  width="150" headerAlign="center" >职位
                        <input property="editor" class="mini-combobox" valueField="ID" textField="NAME" style="width:100%;" />
                    </div>
                    <div field="rate1" width="120" headerAlign="center" allowSort="true">承揽比例%
                        <input property="editor" class="mini-spinner" minValue="0" maxValue="100" decimalPlaces="2" summaryType="sum" style="width:100%;"/>
                    </div>
                    <div field="rate2" width="120" headerAlign="center" allowSort="true">销售比例%
                        <input property="editor" class="mini-spinner" minValue="0" maxValue="100" decimalPlaces="2" summaryType="sum" style="width:100%;"/>
                    </div>
                </div>
            </div>
        </fieldset>
    </div>

        // 新增记录
        function addRow(dg) {
            var grid = mini.get(dg);
            var row = {};
            grid.addRow(row);
            grid.beginEditRow(row);
        }
        // 保存记录
        function saveRow(dg) {
            // 获得增加、删除、修改的记录集合
            var grid = mini.get(dg);
            grid.commitEdit();
        }
        // 汇总
        function onDrawSummaryCellRate(e) {
            var result = e.result;
            var grid = e.sender;
            if (e.field == "rate1") {
                e.cellHtml = "合计: " + e.cellHtml;
            }
            if (e.field == "rate2") {
                e.cellHtml = "合计: " + e.value;
            }
        }
当我追加一行时,
我在点击保存
为何我的e.cellHtml或者e.value为空

Rank: 8Rank: 8

9#
发表于 2013-5-24 14:00:33 |只看该作者
LikeMiniUI 发表于 2013-5-24 13:57
承揽比例
            
               

保存之后直接reload()

Rank: 8Rank: 8

10#
发表于 2013-5-24 14:00:34 |只看该作者
LikeMiniUI 发表于 2013-5-24 13:57
承揽比例
            
               

保存之后直接reload()

Archiver|普加软件

GMT+8, 2024-5-18 17:21 , Processed in 1.018328 second(s), 9 queries .

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部