2016-02-24 43 views
0

劍道格列需要幫助的劍道電網,在那裏我有劍道電網動態列。與動態數據

dynamicCols-對象是具有標題和value屬性的列表,它可以是動態的,其中它可以具有與標題,值對列表中的任何數量的對象的一個​​對象。

劍道電網運行良好,如果JSON有其在同級各種性質的扁平結構,我還沒有碰到過這種hierarchial/JSON結構來直到現在。

該網格還需要支持服務器端排序,並與C#的Web API過濾,用劍道數據源API,用於服務器端排序和過濾。

現有的劍道列映射

var cols = [ 
      { field: 'name', title: 'Name', encoded: false }, 
      { field: 'id', title: 'Id' }, 
      { field: 'age', title: 'Age } 
      ] 

json = [{ 
      name:'XYZ', id:123, age:45, 
      dynamicCols: [{title:'Gender',value:'Male'},  
          {title:'Veteran',value:'Yes'}] 
     }, { 
      name:'Jim', id:555, age:24, 
      dynamicCols: [{title:'Gender',value:'Male'}, 
          {title:'Veteran',value:'No'}] 
     }, { 
      name:'Nick', id:557, age:78, 
      dynamicCols: [{title:'Gender',value:'Female'}, 
          {title:'Veteran',value:'No'}] 
     }] 

**Expected Grid** 

     Name Id Age Gender Veteran 
     XYZ 123 45 Male  Yes 
     Jim 555 24 Male  No 

對於Json2

json2 = [ 
     {name:'XYZ', id:123, age:45, 
     dynamicCols: [{title:'SSN',value:'xx-xx-7891'}] 
     }, 
     {name:'Jim', id:555, age:24, 
     dynamicCols: [{title:'SSN',value:'xx-xx-7892'}] 
     }, 
     {name:'Nick', id:557, age:78, 
     dynamicCols: [{title:'SSN',value:'xx-xx-7895'}] 
     }]; 

    **Expected Grid** 

     Name Id Age Gender SSN 
     XYZ 123 45 Male xx-xx-7891 
     Jim 555 24 Male xx-xx-7892 
+1

恐怕你的第二個json無效。太多']]'。 – DontVoteMeDown

回答

1

你有兩個選擇:

  • 當您完成提取數據,並創建新的前柵格,解決JSON對象,並創建平坦列對象,該對象的網格接受
  • 你的第二個選擇是忘記創建動態列的想法,而是有一個模板列動態解析它所需要顯示。在這種情況下,您可以創建一個可以從模板中調用的外部函數。這樣你就不會結束複雜和蹩腳的模板。如何從模板調用外部函數涵蓋了here
1

對我來說最簡單的解決方案是製作所有列,然後隱藏那些不需要的列。

即使隱藏在50列左右也沒有任何明顯的時間。

(我很高興知道所有可能出現的列)