2015-08-27 44 views
0

我有一個JSON文件,並且我想使用mDataProp屬性在jquery datatable列中顯示DescFatorAvaliacao列。根據特定的JSON結構在數據表中設置列

但是,我遇到了一些困難,因爲JSON中的父節點DesdobramentoList

如何才能將數據表列設置爲DescFatorAvaliacao

JavaScript函數

function loadAvaliacaoPDI() { 
    var gridAvaliacaoPDI = $('#gridAvaliacaoPDI').DataTable({ 
     language: { 
      url: "//cdn.datatables.net/plug-ins/1.10.7/i18n/Portuguese-Brasil.json" 
     }, 
     "sAjaxDataProp": "", 
     destroy: true, 
     ajax: { 
      "url": 'Actions/GetAvaliacaoPDI.ashx', 
      "type": "POST" 
     }, 
     "searching": false, 
     aoColumns: [ 
      { mDataProp: "DescFatorAvaliacao" } 
     ] 
    }); 
} 

$(function() { 
    loadAvaliacaoPDI(); 
}); 

JSON

[{ 
    "DesdobramentoList": [{ 
     "TipoAvaliador": 1, 
     "DescFatorAvaliacao": "Usamos os recursos da empresa de forma consciente e responsável." 
    }, 
    { 
     "TipoAvaliador": 1, 
     "DescFatorAvaliacao": "Assumimos nossos atos independentemente de sucesso ou fracasso, não damos desculpas." 
    }, 
    { 
     "TipoAvaliador": 1, 
     "DescFatorAvaliacao": "Agimos como se fôssemos sócios da empresa" 
    }] 
}] 

UPDATE編輯提出的解決方案BY @DSH

 "dataSrc": function (json) {     
      for (var i = 0, ien = json.length ; i < ien ; i++) { 
       for (var z = 0; z < json[i].DesdobramentoList.length; z++) { 
        var descricaoFator = json[i].DesdobramentoList[z].DescFatorAvaliacao; 
        json[i].DescFatorAvaliacao = descricaoFator; 
       }      
      }     
      return json; 
     } 

回答

2

使用ajax.dataSrc選項可告知DataTables在DesdobramentoList中找到數據,而不是在data中找到數據。

var gridAvaliacaoPDI = $('#gridAvaliacaoPDI').DataTable({ 
    language: { 
     url: "//cdn.datatables.net/plug-ins/1.10.7/i18n/Portuguese-Brasil.json" 
    }, 
    destroy: true, 
    ajax: { 
     url: 'Actions/GetAvaliacaoPDI.ashx', 
     type: "POST", 
     dataSrc: "0.DescFatorAvaliacao" 
    }, 
    searching: false, 
    columns: [ 
     { data: "DescFatorAvaliacao" } 
    ] 
}); 

PS。我認爲你的意思是返回一個單一的對象,而不是在你的JSON中包含單個對象的列表。

+0

很好的答案+1,增加了更多的細節。 –

+0

@dsh我更新了我的問題,並且改變了你的'dataSrc',但是使用了2個循環。 –

相關問題