我目前正在尝试使用服务器端请求在视图中填充我的 DataTable,但是我在使用生成的 JSON 填充表列时遇到了一些问题。
<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>
我的疑问是如何使列规范非静态。我不想指定有名为"机器ID"、"Date_Time"和"时间戳"的列这可能吗?
我能够使用以下代码部分解决我的问题
"columns": [
@{ var cont = 0;}
@foreach (string varname in (List<string>)Session["LogTableVariables"])
{
@:{"data": "VariableValues", "name": "@varname", autoWidth:true},
cont++;
}]
但是现在我得到例如
专栏 1 |列2
1,2---------1,2
我什么时候应该得到
专栏 1 |列2
1-------------2