简体   繁体   English

如何在数据表中使用 columnef function 在两个数据表列上禁用 xeditable?

[英]How can I disable xeditable on a two datatable columns using columnef function inside the datatable?

Hello here is my code for inline grid editing.您好,这是我的内联网格编辑代码。

I would like to disable the xeditable inline grid editing on couple of columns我想在几列上禁用可编辑的内联网格编辑

Here is my code这是我的代码

   "columnDefs": [
         {'targets': '_all',
            'createdCell':  function (td, cellData, rowData, row, col) {
               $(td).attr('data-pk', rowData['id']);
               const key = Object.keys(rowData)[Object.values(rowData).indexOf(cellData)];
               $(td).attr('data-name', key );
           }},
    ],
    "fnDrawCallback":function(){
          $('#data_table_list td').editable({
           params: function(params) {
                var pk = $(this).data('pk');
                var name = $(this).data('name');
                var data = {};
                data['field'] = name;
                data['value'] = params.value;
                data['id'] = pk;
                data['slug']=slug;
                return data;
           },
           url: "{% url 'request_access' %}",
             success : function(data) {
             if (data.status == true) {
                    toastr.success(data.msg);
                } else {
                    toastr.error(data.msg);
                }
            },
            error: function () {
                toastr.error('Something went wrong');
            }
         });
    },

I have got one method.... IF I do like that I can avoid 4th & 5 columns in datatable.我有一种方法....如果我喜欢这样,我可以避免数据表中的第 4 列和第 5 列。 But I need to pass all the column numbers.但我需要传递所有列号。

"columnDefs": [
             {class:'my_class',targets': [1,2,3,6,7,8,9,10....],
                'createdCell':  function (td, cellData, rowData, row, col) {
                   $(td).attr('data-pk', rowData['id']);
                   const key = Object.keys(rowData)[Object.values(rowData).indexOf(cellData)];
                   $(td).attr('data-name', key );
               }},
        ],
        "fnDrawCallback":function(){
          $('#data_table_list .my_class').editable({
           params: function(params) {
                var pk = $(this).data('pk');
                var name = $(this).data('name');
                var data = {};
                data['field'] = name;
                data['value'] = params.value;
                data['id'] = pk;
                data['slug']=slug;
                return data;
           },
           url: "{% url 'request_access' %}",
             success : function(data) {
             if (data.status == true) {
                    toastr.success(data.msg);
                } else {
                    toastr.error(data.msg);
                }
            },
            error: function () {
                toastr.error('Something went wrong');
            }
         });
    },

Just need to give a diffrent class name for excluded columns.....只需要为排除的列提供一个不同的 class 名称.....

"columnDefs": [

             {targets:[4,5],className:"truncate"},

             {className:'my_class','targets': '_all',,
                'createdCell':  function (td, cellData, rowData, row, col) {
                   $(td).attr('data-pk', rowData['id']);
                   const key = Object.keys(rowData)[Object.values(rowData).indexOf(cellData)];
                   $(td).attr('data-name', key );
               }},
        ],
        "fnDrawCallback":function(){
          $('#data_table_list .my_class').editable({
           params: function(params) {
                var pk = $(this).data('pk');
                var name = $(this).data('name');
                var data = {};
                data['field'] = name;
                data['value'] = params.value;
                data['id'] = pk;
                data['slug']=slug;
                return data;
           },
           url: "{% url 'request_access' %}",
             success : function(data) {
             if (data.status == true) {
                    toastr.success(data.msg);
                } else {
                    toastr.error(data.msg);
                }
            },
            error: function () {
                toastr.error('Something went wrong');
            }
         });
    },

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM