簡體   English   中英

Pentaho CDE BI服務器中的單個列搜索

[英]Individual column searching in Pentaho CDE BI server

CDE Pentaho中的表組件基於datable,我想在我的表中實現此功能https://datatables.net/examples/api/multi_filter.html

$(document).ready(function() {
    // Setup - add a text input to each footer cell
    $('#example tfoot th').each( function () {
        var title = $('#example thead th').eq( $(this).index() ).text();
        $(this).html( '<input type="text" placeholder="Search '+title+'" />' );
    } );

    // DataTable
    var table = $('#example').DataTable();

    // Apply the search
    table.columns().eq( 0 ).each( function ( colIdx ) {
        $( 'input', table.column( colIdx ).footer() ).on( 'keyup change', function () {
            table
                .column( colIdx )
                .search( this.value )
                .draw();
        } );
    } );
} );

我無法正常工作,收到了錯誤處理組件消息,我嘗試將其作為js片段包含在內,作為外部來源,在后提取和后執行功能中,我認為每列的索引不足導致這個問題,我在輸出選項中包括了索引,但也沒有用,

我還發現了這種替代方法http://jsfiddle.net/CmMfJ/2/#collaborate

var table = $('#example').DataTable();

$("#example tfoot th").each( function ( i ) {
  var select = $('<select><option value="">All</option></select>')
    .appendTo( $(this).empty() )
    .on( 'change', function () {
       var term =  $(this).val()!=='' ?   '^'+$(this).val()+'$' : '';
       table.column( i )
          .search(term, true, false )
          .draw();
       } );

  table.column( i ).data().unique().sort().each( function ( d, j ) {
    select.append( '<option value="'+d+'">'+d+'</option>' )
  });
});

我沒有用該代碼得到任何錯誤,但是它沒有用,表沒有更改,在兩種情況下,在Post Execution函數中,我都這樣做了:函數f(){code},我還更改了變量#example對於我的桌子的名字,什么都沒有用,任何幫助將不勝感激,謝謝。

您的postExecution方法可能是正確的方法,但是您無法在該div上創建新的DataTable。 它已經被創建。

如果在postExecution執行期間檢查此對象,則其中一個字段(不記得哪個)使您可以訪問DataTable對象(示例中的var表)。

暫無
暫無

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

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