dgrid 0.4.0 树在用户交互之前看起来很平坦
dgrid 0.4.0 tree looks flat before user interacts
尝试使用 dgrid 0.4.0 显示树结构。 (之前没有使用过之前的版本 0.3.x)。
我用两个文件夹构建了这个示例:alice 和 bob;每个里面都会有一些文件(叶子)。
商店("astore.js")
define(['dojo/_base/declare',
'./dstore/Memory',
'./dstore/Tree'],
function(declare, Memory, Tree) {
var store = new (declare([Memory, Tree], {}))();
store.add({node:'bob', id:1, parent:null, hasChildren:true});
store.add({node:'alice', id:2, parent:null, hasChildren:true});
store.add({node:'thesis', id:3, parent:1, hasChildren:false});
store.add({node:'game', id:4, parent:1, hasChildren:false});
store.add({node:'picture', id:5, parent:2, hasChildren:false});
store.add({node:'plan', id:6, parent:2, hasChildren:false});
store.add({node:'mail', id:7, parent:2, hasChildren:false});
return store;
});
启动脚本:
require(['dojo/_base/declare',
'app/dgrid/OnDemandGrid',
'app/dgrid/Tree',
'app/astore'],
function (declare, OnDemandGrid, Tree, astore) {
w = new (declare([OnDemandGrid, Tree],{}))({
collection: astore,
columns:[
{field:'node', label:'Whatever...', renderExpando:true}
]
}, 'slot');
w.startup();
});
显示小部件时,数据总是看起来很平淡:
在我点击 "bob" 之后,那部分就整理好了:
然后我点击"alice",最后一切看起来都很好:
但是,如果我对某个列进行排序,我又会把所有内容搞砸,比以往任何时候都更糟:
我用实验室的示例代码进行了试验,得到了相同的结果。我的 dgrid 组件是通过 Bower 下载的。此问题出现在两台不同的计算机上,具有不同的操作系统和浏览器。我 运行 没有想法...:S 非常感谢任何输入!
正如 Dylan 和我自己在 github issue 上提出的同样问题,您需要将一个仅代表顶级项目的集合传递到您的网格。当使用 dstore/Tree
时,您可以为此调用 store.getRootCollection()
。
所以你想要 collection: astore.getRootCollection()
.
而不是 collection: astore
尝试使用 dgrid 0.4.0 显示树结构。 (之前没有使用过之前的版本 0.3.x)。
我用两个文件夹构建了这个示例:alice 和 bob;每个里面都会有一些文件(叶子)。
商店("astore.js")
define(['dojo/_base/declare',
'./dstore/Memory',
'./dstore/Tree'],
function(declare, Memory, Tree) {
var store = new (declare([Memory, Tree], {}))();
store.add({node:'bob', id:1, parent:null, hasChildren:true});
store.add({node:'alice', id:2, parent:null, hasChildren:true});
store.add({node:'thesis', id:3, parent:1, hasChildren:false});
store.add({node:'game', id:4, parent:1, hasChildren:false});
store.add({node:'picture', id:5, parent:2, hasChildren:false});
store.add({node:'plan', id:6, parent:2, hasChildren:false});
store.add({node:'mail', id:7, parent:2, hasChildren:false});
return store;
});
启动脚本:
require(['dojo/_base/declare',
'app/dgrid/OnDemandGrid',
'app/dgrid/Tree',
'app/astore'],
function (declare, OnDemandGrid, Tree, astore) {
w = new (declare([OnDemandGrid, Tree],{}))({
collection: astore,
columns:[
{field:'node', label:'Whatever...', renderExpando:true}
]
}, 'slot');
w.startup();
});
显示小部件时,数据总是看起来很平淡:
在我点击 "bob" 之后,那部分就整理好了:
然后我点击"alice",最后一切看起来都很好:
但是,如果我对某个列进行排序,我又会把所有内容搞砸,比以往任何时候都更糟:
我用实验室的示例代码进行了试验,得到了相同的结果。我的 dgrid 组件是通过 Bower 下载的。此问题出现在两台不同的计算机上,具有不同的操作系统和浏览器。我 运行 没有想法...:S 非常感谢任何输入!
正如 Dylan 和我自己在 github issue 上提出的同样问题,您需要将一个仅代表顶级项目的集合传递到您的网格。当使用 dstore/Tree
时,您可以为此调用 store.getRootCollection()
。
所以你想要 collection: astore.getRootCollection()
.
collection: astore