jQuery MiniUI

标题: treeGrid怎么设置选中一行 [打印本页]

作者: 逍遥蓝云    时间: 2014-2-18 17:02:47     标题: treeGrid怎么设置选中一行

本帖最后由 逍遥蓝云 于 2014-2-18 17:08 编辑

treeGrid怎么设置选中一行

作者: 逍遥蓝云    时间: 2014-2-18 17:12:47

请大神教教我啊啊 啊啊
作者: felt    时间: 2014-2-18 17:23:16

逍遥蓝云 发表于 2014-2-18 17:12
请大神教教我啊啊 啊啊

treegrid.select(row)
treegrid.selects(rows)
作者: 逍遥蓝云    时间: 2014-2-18 17:34:19

felt 发表于 2014-2-18 17:23
treegrid.select(row)
treegrid.selects(rows)

谢谢大神
作者: fiona_mao    时间: 2014-4-16 15:38:35

felt 发表于 2014-2-18 17:23
treegrid.select(row)
treegrid.selects(rows)

怎样编辑treegrid动态添加的新节点,下面这段代码实现不了
例如:
                function add(){
                        //获取选中节点
                        var node=treegrid.getSelectedNode();
                        var newNode={};
                        //给选中节点添加叶子节点
                        treegrid.addNode(newNode,"add",node);
                        //展开选中节点
                        treegrid.expandNode(node);
                        //将新增的节点设为选中节点
                        treegrid.select(newNode);
                       
                        var column=treegrid.getColumn("busDictionaryValue");
                        var cell=[node,column];
                        treegrid.setCurrentCell(cell);
                        treegrid.beginEditCell();
                }
作者: felt    时间: 2014-4-16 15:45:56

fiona_mao 发表于 2014-4-16 15:38
怎样编辑treegrid动态添加的新节点,下面这段代码实现不了
例如:
                function add(){

有什么问题
你的treegrid是可编辑的吗?
作者: fiona_mao    时间: 2014-4-16 15:56:23

下面是我的treegrid,使用上面的js代码,实现不了将新添加的node设为编辑状态
<div id="treegrid1" class="mini-treegrid" style="height:400px" url="${ctx}/busDictionary/getAll.do" resultAsTree="false"  showTreeIcon="true"
                                treeColumn="value" idField="id" parentField="busDdictionaryParentId" allowResize="true" expandOnLoad="false" multiSelect="true"
                                showCheckBox="true" checkRecursive="true"  allowSelect="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>       
作者: felt    时间: 2014-4-16 16:09:21

本帖最后由 felt 于 2014-4-16 16:10 编辑
fiona_mao 发表于 2014-4-16 15:56
下面是我的treegrid,使用上面的js代码,实现不了将新添加的node设为编辑状态

                                

var column=treegrid.getColumn("busDictionaryValue");
这个根据name来获取列的,不是field,设置那列name="busDictionaryValue"试试
而且你设为编辑状态的也不是你新增加的列的单元格 var cell=[newNode,column];

作者: fiona_mao    时间: 2014-4-16 16:16:48

factory 发表于 2014-4-16 16:12
var node = {}
tree.addNode(node,"add",parentNode)

谢谢,可以了!请问怎么获取treegrid中改变的数据(包括删除的数据)?
作者: factory    时间: 2014-4-16 16:23:05

fiona_mao 发表于 2014-4-16 16:16
谢谢,可以了!请问怎么获取treegrid中改变的数据(包括删除的数据)?

提醒下,单元格编辑和行编辑  2种编辑模式,同时只能存在一种,无法并存

获取修改的数据getChanges()

不过一般由于tree的话存在节点之间的层次和顺序的关系,所以如果没有顺序的变化的话,可以getChanges(),把修改数据获取出来,跟表格一样进行保存

如果有顺序的变化,比如节点的拖动,等等,就需要把整棵树的数据全部获取出来,然后发到后台,进行重新的更新排序字段,然后再把整棵树节点保存下

tree比较特别,跟表格有区别的

具体看我们的tree的crud的例子,后台的处理代码在试用包里面有

作者: fiona_mao    时间: 2014-4-17 15:23:07

求救
1.怎么取消treegrid选中的所有节点?
2.为什么滚动条不能定位到指定的节点?有什么解决办法没有?
//获取模糊查询的值
                        var key=mini.get("key").value;
                        if(key!=null&&key!=""){
                                //保存相匹配的值
                                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]);
作者: felt    时间: 2014-4-17 15:38:33

fiona_mao 发表于 2014-4-17 15:23
求救
1.怎么取消treegrid选中的所有节点?
2.为什么滚动条不能定位到指定的节点?有什么解决办法没有?

1 解决了。。
2 回过你了,你设置下延时试试
作者: fiona_mao    时间: 2014-4-17 15:39:47

设置了延迟,还是不行啊!有其他解决办法没有?
作者: felt    时间: 2014-4-17 15:49:17

fiona_mao 发表于 2014-4-17 15:39
设置了延迟,还是不行啊!有其他解决办法没有?

这个肯定是你循环跑的时间太长的原因,没等他跑完,后面的代码已经运行了
你scroll上面放个alert()弹一下看看




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