DataTables row.add()基于列
我有一张桌子:DataTables row.add()基于列,datatables,datatables-1.10,Datatables,Datatables 1.10,我有一张桌子: 身份证件 名称 电子邮件 单位 行动 1. 无名氏 john@doe.com 能源部公司。 我当前添加行的方式: var columns=$.map(数据,函数(v,k){ 返回v; }); var rowNode=table.row.add(columns).order([0,'desc']).draw(false).node(); $(rowNode).addClass('selected'); setTimeout(function(){$(rowNode).remov
身份证件
名称
电子邮件
单位
行动
1.
无名氏
john@doe.com
能源部公司。
我当前添加行的方式:
var columns=$.map(数据,函数(v,k){
返回v;
});
var rowNode=table.row.add(columns).order([0,'desc']).draw(false).node();
$(rowNode).addClass('selected');
setTimeout(function(){$(rowNode).removeClass('selected');},2000);
我的数据如下所示:
{
“数据”:[{
“id”:2,
“姓名”:“无名氏”,
“电子邮件”:jane@doe.com",
“公司”:“能源部公司”
}
]
}
是否有基于列添加行的方法?我可以使用row.add()
直接插入data[0]
,而不是在映射数据上返回v
。我一直在搜索,但无法得到确切的情况
显然,它的目的是为了混合数据。在一个有15列的表中,我不必担心正确的列排列
我发现了这个例子#1,但显然文档中说:
用于新行的数据。这可能是数组、对象、Javascript对象实例或tr元素。如果使用数据结构(即数组或对象),它必须与表中其他数据的格式相同(即,如果表使用对象,请在此处传入具有相同属性的对象!)
如果使用
数据
属性指定列
(或列定义
),则可以添加JSON/对象文字格式的行:
列:[
{data:'id'},
{data:'name'},
{数据:'电子邮件'},
{数据:'公司'}
]
您还必须指定最后一列,即使它不是针对任何数据。您可以使用render()
、createdCell()
或defaultContent
:
const actions=`
`;
变量表=$('#用户表')。数据表({
栏目:[
{data:'id'},
{data:'name'},
{数据:'电子邮件'},
{数据:'公司'},
{data:null,defaultContent:actions}
]
...
})
现在,您可以从上面插入数据:
var rowNode=table.row.add(data.data[0]).order([0,'desc']).draw(false).node();
或所有行:
table.rows.add(data.data.draw())
是的。不过我现在使用的是Ajax。我想我也会使用render()
,因为按钮的模板需要id
。