僅顯示選定的行

資料表通常有一個核取方塊來選擇多行。如果資料分佈在多個頁面上,則使用者可能難以檢視他選擇的記錄。為了使使用者能夠一次檢視所有選定的記錄,我們通常使用一個超連結,單擊該連結時僅顯示資料表中的選定行。此連結可用於在檢視所選記錄和所有記錄之間切換。

$(sAnchor).click(function() {
                $('#show_selected').text(function(_,txt) {
                    var checked = 0;
                    var ret='';
                    var dataTable = $("#report_table").dataTable();
                    if ( txt == 'Show Selected Reports' ) {
                          dataTable.fnFilter('Checked',8);
                          ret = 'Show All Reports';
                    }else{
                          dataTable.fnFilter('',8);
                          ret = 'Show Selected Reports';
                    }
                    return ret;
                 });
 });

在上面的方法中,單擊 Select All 超連結,如果超連結 div 文字是’Show Selected Reports’,我們過濾資料表以僅顯示為其選中核取方塊的行。我們使用內建的 Datatables API 函式 fnFilter

我們將 2 個引數傳遞給此方法 - 查詢字串和要過濾的列的索引。在這種情況下,如果在 UI 上選中它並且包含核取方塊的列的索引是 8,則核取方塊的值將為 ‘Checked’ 。因此,我們將’Checked’和 8 作為 pamaeters 傳遞給 fnFilter 函式。過濾後,我們切換連結以顯示顯示所有報告

當使用者單擊顯示所有報告時,我們將空字串作為查詢字串傳遞給 fnFilter 函式。所以它顯示所有記錄。