2017-05-11 2 views
0

Ich versuche derzeit, meine DataTable in einer Ansicht mit einer Serverside Anfrage zu füllen, aber ich habe einige Probleme beim Füllen meiner Tabellenspalten mit dem resultierenden JSON.JQuery Server Side Verarbeitung und Spalten Auffüllen - MVC

<script> 
$(document).ready(function() { 
    $('#datatable-buttons').DataTable({ 
     "processing": true, 
     "serverSide": true, 
     "filter": false, 
     'aoColumnDefs': [{ 
      'bSortable': false, 
      'aTargets': ['nosort'] 
     }], 
     "orderMulti": false, 
     "ajax": { 
      "url": "LoadLogData", 
      "type": "POST", 
      "datatype": "json", 
      "dataSrc": function (json) { 

       console.log(json); 

       if(json.data[0].Date_Time!=null){ 

       var dt = json.data[0].Date_Time; 

     for (var i=0, ien=json.data.length ; i<ien ; i++) { 
      json.data[i].Date_Time = dtConvFromJSON(json.data[i].Date_Time); 
      json.data[i].Timestamp = dtConvFromJSON(json.data[i].Timestamp); 
     } 
        } 
     return json.data; 
    } 
     }, 
     "columns": [ 
      { "data": "MachineID", "name": "MachineID", autoWidth: true }, 
      { "data": "Date_Time", "name": "Date_Time", autoWidth: true }, 
        { "data": "Timestamp", "name": "Timestamp", autoWidth: true } 
     ] 
    }) 
    }); 
</script> 

Mein Zweifel ist, wie Spaltenspalte nicht-statische machen. Ich möchte nicht angeben, dass es eine Spalte namens "MachineID", "Date_Time" und "Timestamp" gibt. Ist das überhaupt möglich?

+0

Mein Wissen kann dies vereinfacht werden, um nur ' "Spalten": [[ "title": "MachineID"], [ "title": "Date_Time"] 'usw. Sie können natürlich die Seite des Titelinformationsservers speichern und dann über sie hinwegschlendern, oder einfach die Header im' html' benennen. Was meinst du mit "nicht-statisch?" – wahwahwah

Antwort

0

konnte ich mein Problem partialy mit dem folgenden Code

"columns": [ 

      @{ var cont = 0;} 
       @foreach (string varname in (List<string>)Session["LogTableVariables"]) 
    { 
     @:{"data": "VariableValues", "name": "@varname", autoWidth:true}, 

        cont++; 
       }] 

Allerdings bekomme ich für das Beispiel jetzt lösen

Column1 | Spalte2

1,2 --------- 1,2

Als ich

Column1 sollte immer | Spalte2

1 ------------- 2