3

DataTables Row Grouping Add-onを使用しています。セレクトボックス変更イベントで使用しました。

コード

PHP の場合:

<select id="Group-Discoveries" name="Group-Discoveries" class="input-medium">
<option value="">None</option>
<option value="6">Domain</option>
<option value="7">Type</option>
<option value="8">Category</option>
<option value="9">Status</option>
</select>

JS で:

$(document).ready(function() {    
var DTable = $('#discovery').dataTable( {
            "sDom": "<'row-fluid'<'span3'<'toolbar'>><'span3'<'selectbar'>><'span6'f>r>t<'row-fluid'<'span6'i><'span6'p>>",
            "bPaginate": false
        });
        $('#Group-Discoveries').live('change', function(){
            var index = $(this).val();
            if(index == ''){

            }
            else{
                DTable.rowGrouping({
                    "iGroupingColumnIndex": index,
                    "bHideGroupingColumn": false,
                    "bHideGroupingOrderByColumn": false,
                    "sGroupingClass":"group_"+index,
                    "bSetGroupingClassOnTR":true,
                    "bExpandableGrouping":true
                });
            }
        });
});

が空のときに行グループ化を削除したい。index

ありがとう。

4

1 に答える 1

3

私は解決策を見つけました-グループ化プラグインが作成する描画コールバックを削除し、グループの並べ替えをリセットします:

var oSettings = jQuery('#table').dataTable().fnSettings();

for (f = 0; f < oSettings.aoDrawCallback.length; f++) {
    if (oSettings.aoDrawCallback[f].sName == 'fnRowGrouping') {
        oSettings.aoDrawCallback.splice(f, 1);
        break;
    }
}

oSettings.aaSortingFixed = null;

お役に立てれば。

于 2013-02-21T18:50:02.627 に答える