dgrid 0.4.0 を使用してツリー構造を表示しようとしています。(以前のバージョン 0.3.x の使用経験はありません)。
このサンプルは、alice と bob の 2 つのフォルダーで作成しました。それぞれにいくつかのファイル(葉)があります。
ストア (「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();
});
ウィジェットが表示されると、データは常にフラットに見えます。
「ボブ」をクリックすると、その部分が整理されます。
次に、「アリス」をクリックすると、すべてがうまくいきます。
ただし、列を並べ替えると、全体が再び台無しになり、これまで以上に悪化します。
研究室のサンプル コードを試してみましたが、同じ結果が得られました。私の dgrid コンポーネントは Bower 経由でダウンロードされました。この問題は、OS とブラウザーが異なる 2 台のコンピューターで発生します。そして、私はアイデアを枯渇させています... :S どんな入力も非常に感謝しています!