2012-06-08 56 views
0

我有一個的Qooxdoo表中顯示的一些數據,但由於已經嵌入子文檔,這個數據是有一點不同:如何在qooxdoo表中管理來自mongoose/mongodb的子文檔?

[ 
    { 
     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可以自己管理它)

回答

0

該表能夠顯示數據列表的列表。如果您有分層數據結構,則可能需要考慮將數據顯示爲樹。 qooxdoo也提供樹木以進行數據可視化。也許TreeVirtual是你的正確選擇?如果你想堅守表格,那麼你的責任就是將數據帶入表格可以理解的結構中。