初始化表格时,要使用aoColumnDefs或者aoColumns属性给每一列设置属性。
无论列是否显示,表格中新加的数据,如果按照下列设置,则数据源每一列都不能少。例如:
aoColumnDefs : [
{"aTargets" : [0], "mData" : "name"},
{“aTargets” : [1], “mData” : “age”},
{“aTargets” : [2], “mData” : “salary”}
]
那么使用table.fnAddData(arrayData)时,arrayData的数据必须是:
[
{“name” : “Jim”, “age”: 20, “salary”: 1000000},
]
每个列对应的属性都不能少。
如果某一列对应的属性可能会缺失,则可以如下设置避免出错:
aoColumnDefs : [
{"aTargets" : [0], "mData" : "name"},
{“aTargets” : [1], “mData” : “age”},
{“aTargets” : [2], “mData” : function(source, type, val){
if(source.salary){
return source.salary;
}else{
return null;
}
}}
]
如果既不用aoColumnDefs也不用aoColumns给表格列设置属性,那么就得使用如下方式直接添加数据,而不能使用对象的方式:
dataTable.fnAddData(['Jim', 21, 1000000])
数据会按照顺序,原封不动的插入到单元格中。如果想在单元格中放入checkbox,可以直接用:
dataTable.fnAddData(['<input type="checkbox">', 21, 1000000])
如果某一列无“数据源”,则可以在初始化表格时如下设定:
"aoColumns": [
null,
null,
{ "mData": null }
]
也可以在aoColumnDefs中设置 mData : null
则添加数据时可以使用如下格式,缺少一列数据。
[
{“name” : “Jim”, “age”: 20},
]