0

我创建了一个带有选择器和树列的新 dgrid。除了树列中 childNodes 的缩进之外,我可以填充数据并且网格正常工作。我创建了我的树如下:

var treeGrid = new (declare([OnDemandGrid, Selection]))({
            store:this.store,
            id: this.id + ".tree",
            selectionMode: "none",
            loadingMessage: "Loading...",
            noDataMessage : "No results found.",
            showHeader :false,
            columns : [
                       selector({className:"tocCheckboxColumn"}),
                       tree({field:"displayName", sortable:false, indentWidth:20})
                       ]
        },this.domNode);

我的想法是我应该能够将 indentWidth 属性设置为列本身的一部分,但它似乎不起作用,并且我所有的孩子都直接在父级下方呈现而没有任何缩进。有任何想法吗?谢谢!

4

1 回答 1

0

所以问题出在我商店的 getChildren 方法上。为了让我的 indentWidth 注册,我在将我的 queryResults 返回到 store.put 之前添加了一个调用,用于在 getChildren() 中对其进行更改后添加的对象。

var children = [];
array.forEach(infos, lang.hitch(this, function(info) {
    var child = {                                                
 ...
 };
    children.push(child);
    this.store.add(child);
    }));
    def.resolve(children);
    object.fetchedChildren = true;
    this.store.put(object);
    return new dojo.store.util.QueryResults(def.promise);   
于 2013-09-16T17:56:45.167 回答