我是不熟悉datatable.js的人。我在使用它时遇到一个问题,即我得到了如下所示的基本结构。
if ($("#market_news").length) {
var oTable = $('#market_news').DataTable({
processing: true,
serverSide: true,
order: [
[4, "DESC"]
],
ajax: {
url: 'news/fetch',
},
columns: [{
data: 'view',
sortable: true,
name: 'view'
}
//...other columns
]
});
}
我想知道列中render
的用途以及我们在渲染功能中传递的参数是什么,即数据,类型行mata等,请参见下面的代码。
columns: [{
data: null,
sortable: false,
searchable: false,
render: function(data, type, row, meta) {
return meta.row + meta.settings._iDisplayStart + 1;
},
name: 'report_news.id'
},{
data: null,
"sortable": true,
render: function(data, type, row, meta) {
return row.title.charAt(0).toUpperCase() + row.title.slice(1).toLowerCase();
},
name: 'report_news.title'
},{
data: null,
sortable: true,
render: function(data, type, row, meta) {
if (row.ccId == 0) {
return "All";
} else {
return row.name.charAt(0).toUpperCase() + row.name.slice(1).toLowerCase();
}
},
name: 'cc.name'
}
],
这是我得到的错误。
未捕获的TypeError:无法读取null的属性'charAt' 在渲染时(market_news:2100) 在jquery.dataTables.js:2588 在Object.oCol.fnGetData(jquery.dataTables.js:2062) 在_fnGetCellData(jquery.dataTables.js:2480) 在_fnCreateTr(jquery.dataTables.js:3097) 在_fnAddData(jquery.dataTables.js:2405) 在_fnAjaxUpdateDraw(jquery.dataTables.js:4109) 在jquery.dataTables.js:3954 在回调时(jquery.dataTables.js:3846) 在Object.success(jquery.dataTables.js:3876)