jQuery MiniUI

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

treeGrid CellEdit 单元格编辑 控件 数值统计的问题 [复制链接]

Rank: 3Rank: 3

跳转到指定楼层
楼主
发表于 2014-2-24 09:38:03 |只看该作者 |倒序浏览


如何才能实现子节点的数值输入后,将总值自动进行统计显示到父节点。 求高手解答,谢谢。

Rank: 8Rank: 8

沙发
发表于 2014-2-24 10:20:53 |只看该作者
var pnode = tree.getParentNode(node) 当前节点的获取到 父节点
tree.eachChild(pnode,function(node){
     node...
})    //遍历该父节点下面的子节点,并且计算统计

tree.updateRow(pnode:{field:value})   把value统计值更新到父节点上的field字段

Rank: 3Rank: 3

板凳
发表于 2014-2-24 14:37:50 |只看该作者
factory 发表于 2014-2-24 10:20
var pnode = tree.getParentNode(node) 当前节点的获取到 父节点
tree.eachChild(pnode,function(node){
   ...

大哥,能说详细一点吗?我不知道怎么下手写呢。
<div id="datagrid1" name="datagrid1" class="mini-treegrid" style="width:100%;height:280px;"     
    url="" showTreeIcon="true"
    treeColumn="taskname" idField="ahax0077" parentField="azfx0053" resultAsTree="false"  
    allowResize="true" expandOnLoad="true"
    allowCellEdit="true" allowCellSelect="true"
>
    <div property="columns">
        <div type="indexcolumn"></div>
        <div name="taskname" field="typeName" width="160" >收入项名称
            <input property="editor" class="mini-textbox" style="width:100%;" />
        </div>
                <div field="ahax0077" name="ahax0077" width="80">业务类型编号
            <input property="editor" class="mini-spinner"  minValue="0" maxValue="100" value="0" style="width:100%;"/>
        </div>
        <div field="ahax0078" name="ahax0078" width="80">金额
            <input property="editor" class="mini-spinner"  minValue="0" maxValue="9999999999" value="0" decimalPlaces="2" maxLength="10" allowLimitValue="false" style="width:100%;" onvaluechanged="change"/>
        </div>
        <div field="ahax0081" width="60" headerAlign="center">说明
            <input property="editor" class="mini-textbox" vtype="maxLength:150" maxLength="100" style="width:100%;"/>
        </div>
                              
    </div>
</div>
我把代码贴给你看看,帮忙再指点一下,小弟愚钝。感谢。

Rank: 8Rank: 8

地板
发表于 2014-2-24 15:57:13 |只看该作者
朱杰兵 发表于 2014-2-24 14:37
大哥,能说详细一点吗?我不知道怎么下手写呢。

   

var pnode = tree.getParentNode(node) //当前节点的获取到 父节点
tree.eachChild(pnode,function(node){
     var value = node.yourField;
     .....获取到value之后,进行统计计算
})    //遍历该父节点下面的子节点,并且计算统计

tree.updateRow(pnode:{field:value})   //把value统计值更新到父节点上的field字段

就这几步,1,3步是固定的,你就需要在eachChild里面进行一个计算就行了

Rank: 3Rank: 3

5#
发表于 2014-2-24 16:11:37 |只看该作者
factory 发表于 2014-2-24 15:57
var pnode = tree.getParentNode(node) //当前节点的获取到 父节点
tree.eachChild(pnode,function(node) ...

感谢!
第一步的tree 是var tree = mini.get("datagrid1");    ??

【var pnode = tree.getParentNode(node) //当前节点的获取到 父节点】
参数node指的是哪一个值呢?因为我url里面传递过来的字段有很多,指的是哪一个呢?我试了一下,返回的是undefined。

谢谢指点。

Rank: 8Rank: 8

6#
发表于 2014-2-24 16:14:29 |只看该作者
本帖最后由 felt 于 2014-2-24 16:15 编辑
朱杰兵 发表于 2014-2-24 16:11
感谢!
第一步的tree 是var tree = mini.get("datagrid1");    ??

你这个肯定是监听oncellendedit来处理的
编辑结束的时候
根据e.row来查找父节点,再遍历计算结果,更新父节点

Rank: 8Rank: 8

7#
发表于 2014-2-24 16:15:04 |只看该作者
朱杰兵 发表于 2014-2-24 16:11
感谢!
第一步的tree 是var tree = mini.get("datagrid1");    ??

恩,你得先获取到mini-tree控件对象,才能使用他的API,

var pnode = tree.getParentNode(node)

参数node是你要获取的父节点下的子节点对象

Rank: 3Rank: 3

8#
发表于 2014-2-24 16:30:03 |只看该作者
factory 发表于 2014-2-24 16:15
恩,你得先获取到mini-tree控件对象,才能使用他的API,

var pnode = tree.getParentNode(node)

参数node是你要获取的父节点下的子节点对象  这个对象怎么得到呢?
感谢。

Rank: 3Rank: 3

9#
发表于 2014-2-24 17:15:31 |只看该作者
factory 发表于 2014-2-24 16:15
恩,你得先获取到mini-tree控件对象,才能使用他的API,

var pnode = tree.getParentNode(node)

tree.updateRow(pnode:{field:value}) ; 报了一个脚本错误 少括号。麻烦看一下,前面已经解决掉了。
谢谢

Rank: 8Rank: 8

10#
发表于 2014-2-24 17:22:20 |只看该作者
朱杰兵 发表于 2014-2-24 17:15
tree.updateRow(pnode:{field:value}) ; 报了一个脚本错误 少括号。麻烦看一下,前面已经解决掉了。
谢谢 ...

tree.updateRow(pnode,{field:value}) ;

Archiver|普加软件

GMT+8, 2024-11-1 09:26 , Processed in 1.052930 second(s), 9 queries .

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部