jQuery MiniUI

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

treegrid可不可以根据节点位置定位滚动条位置? [复制链接]

Rank: 3Rank: 3

跳转到指定楼层
楼主
发表于 2014-4-17 10:52:18 |只看该作者 |倒序浏览
求大神赐教

Rank: 3Rank: 3

沙发
发表于 2014-4-17 10:54:05 |只看该作者
请问大神可不可以用treegrid.scrollIntoView ( node );

Rank: 8Rank: 8

板凳
发表于 2014-4-17 11:16:11 |只看该作者
fiona_mao 发表于 2014-4-17 10:54
请问大神可不可以用treegrid.scrollIntoView ( node );

可以的,3.3treegrid是从datagrid派生的,可以使用datagrid的API

Rank: 3Rank: 3

地板
发表于 2014-4-17 11:50:57 |只看该作者
用scrollIntoView方法有什么前提条件或有什么限制吗?

Rank: 8Rank: 8

5#
发表于 2014-4-17 12:03:13 |只看该作者
fiona_mao 发表于 2014-4-17 11:50
用scrollIntoView方法有什么前提条件或有什么限制吗?

把你的代码贴一下

Rank: 3Rank: 3

6#
发表于 2014-4-17 13:48:03 |只看该作者
<div id="treegrid1" class="mini-treegrid" style="height:100%" url="${ctx}/busDictionary/getAll.do" resultAsTree="false"  showTreeIcon="true"
                                treeColumn="value" idField="id" parentField="busDdictionaryParentId" allowResize="true" expandOnLoad="true" multiSelect="true"
                                showCheckBox="true" checkRecursive="true"  allowSelect="true" virtualScroll="true"
                                allowCellEdit="true" allowCellSelect="true">
                                <div property="columns">
                                        <div type="indexcolumn">编号</div>
                                        <div name="value" field="busDictionaryValue">字典值
                                                <input property="editor" class="mini-textbox" style="width:100%"/>
                                        </div>
                                        <div field="busDictionaryKey">字典键
                                                <input property="editor" class="mini-textbox" style="width:100%"/>
                                        </div>
                                </div>
                        </div>       


function search(){
                        //获取模糊查询的值
                        var key=mini.get("key").value;
                        //保存相匹配的值
                        var searchNodes=new Array();
                        //获取treegrid的根节点
                        var rootNode=treegrid.getRootNode();
                        //获取treegrid所有的子节点
                        var nodes=treegrid.getAllChildNodes(rootNode);
                        //循环遍历子节点,查询相匹配的节点
                        for(var i=0;i<nodes.length;i++){
                                if(nodes[i].busDictionaryValue.indexOf(key)!=-1){
                                        searchNodes.push(nodes[i]);
                                        //将所有匹配节点选中
                                        treegrid.select(nodes[i]);
                                }
                        }
                        //将滚动条定位到一个匹配节点
                        treegrid.scrollIntoView(searchNodes[0]);
                }

Rank: 3Rank: 3

7#
发表于 2014-4-17 14:11:27 |只看该作者
版主啊!按照上面的代码为什么滚动条不能定位到选中的节点呢?

Rank: 8Rank: 8

8#
发表于 2014-4-17 14:34:01 |只看该作者
fiona_mao 发表于 2014-4-17 14:11
版主啊!按照上面的代码为什么滚动条不能定位到选中的节点呢?

加下延时试试。。。那么大的循环
setTimeout(function(){
      treegrid.scrollIntoView(searchNodes[0]);
},10000)                    

Archiver|普加软件

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

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部