0

我在 qooxdoo 中有一个表格,其中显示了一些数据,但是这个数据有点不同,因为嵌入了子文档:

[
    {
        simpleField: 1,
        mapSubDocField: {
            key1: 1,
            key2: 3
        }
    },
    {
        simpleField: 1,
        mapSubDocField: {
            key1: 1,
            key2: 3
        }
    },
    {
        simpleField: 1,
        mapSubDocField: {
            key1: 1,
            key2: 3
        }
    },
]

我试图做这样的事情但没有奏效:

model.setColumns(   ['simpleFIeld', 'key1', 'key2'], 
            ['simpleFIeld', 'mapSubDocField.key1', 'mapSubDocField.key2']);

但没有用,我的领域是空的。

我该怎么办?谢谢

编辑:目前在我的模型中,我还添加了这个脚本:

        var i = result.length;
        var item;
        var key;
        var subitem;
        var subkey;
        while(i--){
            item = result[i];
            for(key in item){
                if(Object.prototype.toString.call(item[key]) === '[object Object]'){
                    var subitem = item[key];
                    for(subkey in subitem){

                        item[key+'.'+subkey] = subitem[subkey];
                        delete item[key];
                    }
                }
            }
        }

这会将上面的对象转换为:

[
    {
        simpleField: 1,
        mapSubDocField.key1: 1,
        mapSubDocField.key2: 3
    },
    {
        simpleField: 1,
        mapSubDocField.key1: 1,
        mapSubDocField.key2: 3
    },
    {
        simpleField: 1,
        mapSubDocField.key1: 1,
        mapSubDocField.key2: 3
    }
]

但问题仍然存在:存在更好的方法吗?(也许qooxdoo可以自己管理)

4

1 回答 1

0

该表能够将数据显示为列表列表。如果您有分层数据结构,您可能需要考虑将数据显示为树。qooxdoo 还为数据可视化提供了树。也许 TreeVirtual 是您的正确选择?如果您想坚持使用表格,您有责任将数据带到表格可以理解的结构中。

于 2012-08-23T08:12:16.913 回答