javascript - 在 jQuery Datatables 中,我们如何定义固定值列?

标签 javascript jquery datatables

使用Jquery.datatables,我构建了一个数据表,它通过AjaxJson格式从服务器动态加载数据。这是我的代码:

$('#MyTable').dataTable({
  'sAjaxSource': '/Accounting/Action/GetData',
  'bStateSave': false,
  'bProcessing': true,
  'bServerSide': true,
  'data': {
  },
  'lengthChange': true,
  'aoColumns': [
    {
      'mData': 'ActionID',
      'title': 'کد',
      'sClass': ''
    },
    {
      'mData': 'ActionTitle',
      'title': 'عنوان',
      'sClass': ''
    }
  ],
  'sPaginationType': 'bootstrap'
});

它生成:

ActionID | ActionTitle  
=========+=============
  1      |  Foo         
---------+-------------
  2      |  Bar         
---------+-------------
  3      |  Blah Blah   
---------|------------

好的,但我想为所有行添加一个具有固定值的更多列,并且我不会通过向服务器发送的 Json 数据添加列来实现此目的。例如我想将 MyFixedCol 添加到客户端的 MyGrid :

ActionID | ActionTitle | MyFixedCol
=========+=============+===========
  1      |  Foo        | FIXEDVAL
---------+-------------+-----------
  2      |  Bar        | FIXEDVAL
---------+-------------+-----------
  3      |  Blah Blah  | FIXEDVAL
---------|-------------+-----------

我该怎么做?

最佳答案

我发现了一个技巧,它对我有用。所以我在这里分享,也许可以帮助别人:)

datatables有一个createdRow创建行时会触发它的回调。然后我添加一个 <td>到相关行,它对所有行运行:

'createdRow': function ( row, data, index ) {
    $(row).append($('<td>').html('FIXEDVAL'));
  }

所以我在问题中的代码已经完成:

$('#MyTable').dataTable({
  'sAjaxSource': '/Accounting/Action/GetData',
  'bStateSave': false,
  'bProcessing': true,
  'bServerSide': true,
  'data': {
  },
  'lengthChange': true,
  'aoColumns': [
    {
      'mData': 'ActionID',
      'title': 'کد',
      'sClass': ''
    },
    {
      'mData': 'ActionTitle',
      'title': 'عنوان',
      'sClass': ''
    }
  ],
  'sPaginationType': 'bootstrap',
  'createdRow': function ( row, data, index ) {
       $(row).append($('<td>').html('FIXEDVAL'));
  }
});

关于javascript - 在 jQuery Datatables 中,我们如何定义固定值列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30705174/

相关文章:

javascript - 隐藏 jQuery dataTable 中的列

jquery - 动态添加行时,statesave 不适用于数据表

javascript - 使用 jQuery,通过 id 选择一个 Div,从下拉列表中选择并将其绘制在另一个 Div 中

javascript - 如何在 rulerguides.js 中找到精确的可拖动网格线位置?

javascript - jQuery 连接格式(字符串和条件语句)

javascript - 页面加载时如何在元素上打开模式?

javascript - Jquery Datatables 扩展细节的持久性

javascript - 如果在头部使用关键 CSS,将样式表放在结束 body 标记之前是否有效?

javascript - 更新不可变对象(immutable对象)而不破坏 JavaScript 中的不变性

javascript - 一个函数中的全局变量赋值在另一个函数中无法访问