脚本
我使用的数据表的第一次显示数据显示给用户(@version 1.9.4)。 我在检索通过ajax的数据,并在它们结合到DataTable成功。
现在,我想添加额外的列,让用户进程的记录。 对于semplicity起见,目的是与检索“点击”记录的数据的onclick处理程序添加一个按钮。
在我的计划我将绑定对应的“点击”记录到onclick处理json的项目。
截至目前,如果我添加一个额外的TH
的行动列于DOM,从数据表的代码出现错误:
Requested unknown parameter '5' from data source for row 0
题
如何设置自定义列? 如何填补他们与HTML内容?
这里是我的实际配置。
HTML
<table id="tableCities">
<thead>
<tr>
<th>country</th>
<th>zip</th>
<th>city</th>
<th>district code</th>
<th>district description</th>
<th>actions</th>
</tr>
</thead>
<tbody></tbody>
</table>
使用Javascript
$('#tableCities').dataTable({
"bPaginate": true,
"bLengthChange": false,
"bFilter": true,
"bSort": true,
"bInfo": false,
"bAutoWidth": true
, "bJQueryUI": true
, "bProcessing": true
, "bServerSide": true
, "sAjaxSource": "../biz/GetCitiesByZip.asp?t=" + t
});
样品JSON结果
{
"aaData":
[
[
"IT",
"10030",
"VILLAREGGIA",
"TO",
"Torino"
],
[
"IT",
"10030",
"VISCHE",
"TO",
"Torino"
]
],
"iTotalRecords": 2,
"iTotalDisplayRecords": 2,
"iDisplayStart": 0,
"iDisplayLength": 2
}
编辑
丹尼尔是正确的。 解决的办法是设置了自定义列在aoColumnDefs
,指定mData
和mRender
性质。 特别mRender
允许定义自定义HTML和JavaScript。
/* inside datatable initialization */
, "aoColumnDefs": [
{
"aTargets": [5],
"mData": null,
"mRender": function (data, type, full) {
return '<a href="#" onclick="alert(\''+ full[0] +'\');">Process</a>';
}
}
]