具有可变数量的表头的DataTables呈现函数

时间:2019-03-19 12:18:24

标签: javascript datatables

我知道,使用DataTables时,表标题列和表数据列的数量必须相同。
我的问题是我现在遇到的问题是我的<th>标签的数量有条件地为+/- 2,并且我正在使用render函数显示相应的<td>列。
DataTables在该错误上引发错误(Cannot read property 'style' of undefined)并不奇怪。
无论如何,我既没有机会摆脱渲染功能,也没有机会静态地渲染表头。
当特定列没有表头时,有没有一种方法可以对DataTables进行统计?

columns: [
   {
   data: "some_id",
   render: function (data, type, row) {
      return "some content";
   },
   {
    data: "some_id", 
    render: function (data, type, row) {
       return "some content";
   }
]

这是引起麻烦的部分。

1 个答案:

答案 0 :(得分:1)

DataTables需要<thead>中的列数以匹配<tbody>中的列数。在column:[]数组中添加<thead>中没有关联列的列会产生内部DataTable JS错误。可以通过在使用渲染器的列的标题中添加空的<th></th>来解决此问题。

<table>
     <thead>
          <th>Column 1</th>
          <th>Column 2</th>
          <th></th>
     </thead>
</table> 

DataTable列属性

columns: [
   {data: "column1"},
   {data: "column2"},
   {
         data: "some_id", 
         render: function (data, type, row) {
            return "some content";
         },
         sortable: false, // optional
         searchable: false // optional
   }
]

作为另一个提示,在通过渲染器添加诸如按钮之类的项时,将可排序的,可搜索的false与渲染器一起添加可能是有益的。这样可以避免用户可能会尝试在仅显示或具有不可用于搜索和排序的可操作项的列上进行排序或搜索的问题。