DataTables columnDefs和columns取值问题

....
"columnDefs": [
                {
                    "targets": -1,//编辑
                    "data": null,
                    "orderable": false,
                    "render": function (data, type, row, meta) {
                        return "<a href='javascript:void(0)' class='sbtn btn03' dataId='" + data.labelItemId + "' id='labelItem_list_edit'>修改</a>&nbsp;&nbsp;" +
                            "<a href='javascript:void(0)' class='sbtn btn03' dataId='" + data.labelItemId + "' id='labelItem_list_del'>删除</a>";
                    }

                },
                {
                    "targets": 0,// 编辑
                    "data": null,
                    "orderable": false,
                    "bSortable": false,
                    "render": function (data, type, row, meta) {
                        return '<input type="checkbox" dataId=' + data + ' class="idCheckbox"  id="table_list_checkbox" />';
                    }
                }

            ],
            //列表表头字段
            columns: [
                {"data": "labelItemId"},//第一列隐藏
                {"data": "itemName", "sDefaultContent": ""},
                {"data": "itemCode", "sDefaultContent": ""},
                {
                    "data": "isValid",
                    "sDefaultContent": "",
                    "render": function (data,type,row,meta) {
                        if (data == "Y") {
                            return "有效";
                        } else if (data == "N") {
                            return "无效";
                        }

                    }
                },
                {"data": "sort", "sDefaultContent": ""},
                {"data": "remark", "sDefaultContent": ""},
                {"data": null}

            ]
        });

columnDefs

columnDefs中使用render,data,row取值都是一样的,即

                 {
                    "targets": 0,// 编辑
                    "data": null,
                    "orderable": false,
                    "bSortable": false,
                    "render": function (data, type, row, meta) {
                        return '<input type="checkbox" dataId=' + data + ' class="idCheckbox"  id="table_list_checkbox" />';
                    }
                }
alert(JSON.stringify(data)); == alert(JSON.stringify(row));

columns

columns中使用render,data,row取值不是一样的,即

 {
                    "data": "isValid",
                    "sDefaultContent": "",
                    "render": function (data,type,row,meta) {
                        if (data == "Y") {
                            return "有效";
                        } else if (data == "N") {
                            return "无效";
                        }

                    }
                }
alert(JSON.stringify(data));为isValid值的数据
alert(JSON.stringify(row));为这一列的数据
即
data == row.isValid
可以使用DataTables表格插件中的`columns`选项来配置每一列的显示格式。`columns`选项是一个数组,每个元素表示一列,可以包含多个属性,常用的属性有: - `data`:指定列的数据源字段名。 - `title`:指定列的标题。 - `render`:指定列的渲染函数,用于对数据进行格式化处理。 - `className`:指定列的CSS类名,用于自定义样式。 - `orderable`:指定列是否允许排序。 - `searchable`:指定列是否允许搜索。 - `visible`:指定列是否可见。 - `width`:指定列的宽度。 例如,下面的示例代码定义了一个包含四列的表格,其中第一列是`id`字段,第二列是`name`字段,第三列是`age`字段,第四列是`email`字段。其中,第四列使用了`render`属性来定义一个渲染函数,将电子邮件地址显示为一个链接: ```javascript $('#example').DataTable( { "columns": [ { "data": "id", "title": "ID", "orderable": true, "searchable": true }, { "data": "name", "title": "Name", "orderable": true, "searchable": true }, { "data": "age", "title": "Age", "orderable": true, "searchable": true }, { "data": "email", "title": "Email", "orderable": false, "searchable": true, "render": function ( data, type, row ) { return '<a href="mailto:' + data + '">' + data + '</a>'; } } ] } ); ``` 在这个示例中,除了第四列使用了`render`属性外,其它列都使用了默认的配置,表示允许排序搜索,使用数据源中对应的字段名作为列标题。如果需要自定义样式,可以使用`className`属性指定CSS类名,然后在CSS样式文件中定义相应的样式。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值