簡體   English   中英

數據表不創建某些行

[英]Datatable don't create certain rows

有沒有創建特定行的回調?

這是我的數據表對象:

 $('#table').DataTable({
    dom: "t<'col-sm-5'i><'col-sm-7'p>",
    autoWidth: false,
    serverSide: true,
    aaSorting: [[8, 'desc']],
    beforeCreatedRow: function(row, data) {
        if ( data.field == "OFF" ) {
            // DON'T CREATE THIS ROW
        }
    },
    rowId: 'id',
    lengthChange: false,
    iDisplayLength: 10,
    columns: [
        {data: "column1"},
        {data: "column2"},
        {data: "column3"},
        {data: "column4"},
        {data: "column5"},
        {data: "column6"}
    ]
});

我僅在示例中使用beforeCreatedRow事件。 我不確定此事件是否存在。 只是為了向您展示我的需求。

如您所見,如果data.field值為OFF,則data.field創建行

您可以使用rowCallback方法像這樣

var table = $('#table').DataTable({
   "rowCallback": function(row, data, index){
      if ( row.field == "OFF" ) {
         jQuery(row).hide();
      }
   }
});

在這里更多細節

我不會在DOM中填充無用的行。 與其隱藏它們,不如跳過它們:

ajax: {
  url: 'some/url/',
  dataSrc: function(d) {
    var data = d.filter(function(row) {
      if (row.field != "OFF") return row
    })
    return data
  }
}

你可以事先刪除不需要的行dataSrc被鈎住xhr.dt事件:

$('#example').on('xhr.dt', function(e, settings, json, xhr ) {
  json.data = json.data.filter(function(row) {
     if (row.field != 'OFF') return row
  })
})

在此處查看演示-> http://jsfiddle.net/g4h7950t/

注意:上面的示例使用的是{ data: [..] } src。 簡直就是我手上的東西。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM