数据表删除行分组

时间:2012-12-20 08:25:32

标签: jquery datatables

我正在使用 DataTables行分组加载项。我通过选择框更改事件使用它。

代码

在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为空时删除 rowgrouping

感谢。

1 个答案:

答案 0 :(得分: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;

希望这有帮助。