我正在尝试基于行索引在数据表上的行上添加一些文本和链接.
这是我的数据表初始化部分
<script>
var datatablecompanyuser = null;
$(document).ready(function () {
$.extend(true, $.fn.dataTable.defaults, {
"searching": false,
"ordering": false,
"paging": false
});
var dataSourceUrl = "@Url.Action("CompanyUsersList", "Settings")";
datatablecompanyuser = $('#datatablecompanyuser').dataTable({
info: false,
ajax: {
"url": dataSourceUrl,
"type": "GET",
},
columns: [
{
"data": "Id",
"render": function (data, type, row) {
return "<label><input type='checkbox' value='" + data + "' name='chkGrid'><span class='text'></span></label>";
}
},
{ "data": "Fullname" },
{ "data": "Email" },
{ "data": "CitizenIdNo" },
{
"data": "CreateDate",
"render": function (data, type, row) {
return moment(parseInt(data.substr(6))).format('DD.MM.YYYY hh:mm');
}
},
{
"data": "Id",
"render": function (data, type, row) {
var table = $('#datatablecompanyuser').DataTable();
if (table.row().index() == 0){
return "<label>A</label>"}
else {
return "<label>B</label>";
}
}
},
{ "data": "Id" },
],
language: {
"url": "//cdn.datatables.net/plug-ins/1.10.10/i18n/Turkish.json"
}
});
});
</script>
Run Code Online (Sandbox Code Playgroud)
我正在尝试在第一行添加文本"A",在其他行添加"B".
如上面的代码片段所示,我尝试在相应的列上执行类似的操作.
{
"data": "Id",
"render": function (data, type, row) {
var table = $('#datatablecompanyuser').DataTable();
if (table.row().index() == 0){
return "<label>A</label>";}
else {
return "<label>B</label>";
}
}
},
Run Code Online (Sandbox Code Playgroud)
但每一行都得到A.我做错了但却无法理解.
我将需要相同的行索引确定下一列包含一个链接(或不包括),但我想如果我能在这里解决它,休息将很容易.
您在调用的render函数中缺少另一个参数,meta它存储行和列索引.有关render函数参数的更多信息,请参阅JQuery Datatables文档.
function (data, type, row, meta) {
if (meta.row == 0){
return "<label>A</label>";}
else {
return "<label>B</label>";
}
}
Run Code Online (Sandbox Code Playgroud)
如文档中所述,meta参数仅在1.10.1版中添加