2013-09-14 5 views
2

У меня есть модуль студенческой платы, и я хочу создать класс вознаграждения. Средства генерируют плату за весь класс, а не за конкретного студента. DataTable будет выглядеть, как показано ниже ..Как добавить столбцы в JQuery DataTable динамически

|RegistrationNo | Name | AdmissionFee | TutionFee | SportsFee | Exam Fee| Discount | 
------------------------------------------------------------------------------------ 
| 50020  | A |  1000  |  800 | 500 | 400 | 300 | 
| 50021  | B |  1000  |  800 | 500 | 400 | 100 | 

так далее, весь класс ...

Проблема заключается в том, что Fees определяются школами, так что я не починка числа платежей, например Transport Fee может быть определена, Library Fee может быть определена, и любая другая плата, которую хочет школа, может определить. поэтому эти Имена Платежей взяты из таблицы FeeDefination. Теперь, как я должен добавить эти пошлины в aoColumns в качестве атрибута. меня попробовать следующий код ...

 var html = '['; 
    var oTable = $('#GenerateFeeDataTable').dataTable({ 
       "bJQueryUI": true, 
       "bServerSide": true, 
       "bPaginate": false, 
       "bFilter": false, 
       "bInfo": false, 
       "sAjaxSource": "/forms/StudentFee/studentfee.aspx/GenerateStudentFee?CampusId=" + campusId + "&ClassId= " + classId + '&Session=' + JSON.stringify(session) + "&FeeModeId=" + feeModeId, 
       "fnServerData": function (sSource, aoData, fnCallback) { 
        $.ajax({ 
         "type": "GET", 
         "dataType": 'json', 
         "contentType": "application/json; charset=utf-8", 
         "url": sSource, 
         "data": aoData, 
         "success": function (data) { 
          var data = data.d; 
          html += '{"sTitle":"Registration No","mDataProp":"RegistrationNo","bSearchable":false,"bSortable":false},'; 
          html += '{"sTitle":"Student Name","mDataProp":"StudentName","bSearchable":false,"bSortable":false},'; 
          html = html.substring(0, html.length - 1); 
          html += ']'; 
          fnCallback(data); 
         } 
        }); 
       }, 
       "aoColumns": html 
}); 

Как всегда я принял aoColumns атрибуты статическими в fnServerData, но это не будет исправлено, я просто пытаюсь, что я буду работать или нет, но не работает ..

My Questions are : 
1) How to handle this situation, means how to add aoColumns dynamically. 
2) How to get Header/Variables Name from JSON aaData, below is the Image to understand. 

enter image description here

есть ли способ сделать такую ​​задачу, любая помощь ..

ответ

3

Inst ead с использованием jQuery DataTables для этой ситуации, я предлагаю вам использовать пользовательские таблицы HTML. Затем вы можете прокручивать данные (используя итератор jQuery) и получать доступ (например) столбцов заголовка с помощью параметров цикла.

Например:

var data = data[0]; // access the first row only 
$.each(data, function(k, v) {  // here k is an index and v is a value 
    alert(k); // show the column's name in alert 
    $('body').append('<table><tr><td>' + v.RegistrationNo + '</td></tr></table>'); 
}); 

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

+1

Thanx для альтернативного решения, это сработало .. –

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