基于行索引的Jquery数据表操作

Ege*_*rak 7 jquery datatables

我正在尝试基于行索引在数据表上的行上添加一些文本和链接.

这是我的数据表初始化部分

 <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.我做错了但却无法理解.

我将需要相同的行索引确定下一列包含一个链接(或不包括),但我想如果我能在这里解决它,休息将很容易.

Wil*_*ris 9

您在调用的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版中添加