var headers = [{ "mDataProp": "Agents" },{ "mDataProp": "Buyer" },{ "mDataProp": "Date" }];
$(document).ready(function () {
$('#data-table').dataTable({
"bFilter": false,
"bLengthChange": false,
"iDisplayLength": 25,
"bJQueryUI": true,
"bServerSide": true,
"bProcessing": true,
"sPaginationType": "full_numbers",
"aoColumns": headers,
"sAjaxSource": '/report/TestPaging',
});
});
如果从代码中删除aoColumns,则会正常生成数据表,但是当我添加aoColumns时,我得到:
DataTables警告(表id ='data-table'):从第0行的数据源请求未知参数'Agents'
HTML:
<table id="data-table">
<thead>
<tr>
<th>tmp</th>
<th>tmp</th>
<th>tmp</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
如何配置标题名称?我需要它们进行分类。 它们必须与“th”标签相同吗? 来自我的控制器的Json响应是可以的,因为当我删除aoColumns时它呈现正常
我有string [] [](var data),每行有3个字符串,并将其作为
返回 Json(new{
sEcho = param.sEcho,
iTotalRecords = visitRepository.Query.Count(),
iTotalDisplayRecords = visitRepository.Query.Count(),
aaData = data
}, JsonRequestBehavior.AllowGet);
答案 0 :(得分:2)
您遇到的错误是由JSON内容与aoColumns
定义不匹配引起的。您在aoColumns
中定位的名称必须 与中的名称相同和中每个对象的长度JSON 必须等于原始HTML表中的列数。有关说明,请参阅docs。在您的情况下,JSON应如下所示:
[{
"Agents": "tM4Ga0zX",
"Buyer": "ZKwMEiIa",
"Date": "K3lS2yn9"
},
...]
...而你的JSON并没有遵循这个计划。如果您没有使用aoColumns
,那么数据将按索引插入,而不是按名称插入 - 这就是为什么它在没有它的情况下为您工作的原因。
您可以按sTitle
属性配置标题名称(标题):
aoColumns: [
{ mDataProp: "Agents", sTitle : "Agents" },
{ mDataProp: "Buyer", sTitle : "Buyer" },
{ mDataProp: "Date", sTitle : "Date" }
]
根据您的问题查看此演示 - &gt; http://jsfiddle.net/kLR7G/