2017-01-02 5 views
2

Есть ли способ, которым мы можем динамически устанавливать источник данных для столбцов данных? Как я установил columns.data по жестко прописывать имя каждого свойства, как это:Динамически заданный источник данных для столбцов данных jQuery

$.ajax({ 
    data: JSON.stringify(data), 
    url: urlGetProviderQualificationTimeData, 
    type: 'POST', 
    contentType: "application/json; charset=utf-8", 
    success: function (obj) { 
     if (obj.success) { 
      $('#tblProds').dataTable({ 
      data: obj.data.ProdsDetails, 
      columns: [ 
       { "data": "PName" }, 
       { "data": "PTime" } //hardcoded mapping of properties  
      ] 
      }); 
     } 
    }, 
}); 

ProdsDetails образца массив:

Array[2] 
0:Object 
    PName:"ATT", 
    PTime:"6.48" 
1:Object 
    PName:"CENTURYLINK", 
    PTime:"3.67" 

Есть ли способ, мы можем избавиться от этого закодированного отображения свойств и столбцов?

+0

Вы хотите установить свойства, которые вы получили от вызова 'ajax'? –

+0

@ Alexandru-IonutMihai точно без указания названия недвижимости –

+0

Адрес, использованный для вашего местоположения. Где вы желаете приобрести недвижимость? Из 'obj.data'? Покажите нам массив. – Andy

ответ

4

Вот ваш массив:

var array=[ 
      {PName:"ATT",PTime:"6.48" }, 
      {PName:"CENTURYLINK",PTime:"3.67"} 
      ]; 

Теперь, вы должны получить все keys и построить окончательный массив:

var obj=array[0]; 
var keys=[]; 
for(var k in obj) 
    keys.push({"data":k}); 

Теперь keys массив выглядит следующим образом:

[ 
    {"data":"PName"}, 
    {"data":"PTime"} 
] 

И последний шаг - назначить массив columns prop erty из DataTable:

columns:keys 

Теперь это должно выглядеть следующим образом:

columns:[ 
      { "data": "PName" }, 
      { "data": "PTime" }  
] 

Надеется, что это помогает!.

+0

Да, теперь вы поняли это правильно. Спасибо :) –

+0

Добро пожаловать. –

0

У меня была такая же проблема, и я работал над этим, создав дополнительный массив json для свойства columns.data. Используется функция php для прокрутки заголовков и помещения ее в массив json.

+0

имел это в виду. Но это работа. Мне было интересно, есть ли у нас что-нибудь, что могло бы решить проблему. –

+0

Правда, я не думаю, что это возможно на данный момент. Я просто проверил сайт и не могу найти ничего об этом. – dexter

Смежные вопросы