web-dev-qa-db-ja.com

Datatablesの行のグループ化-グループごとに行数を追加し、すべてを展開/折りたたむ方法

Datatablesの折りたたみ/拡張可能なグループ化を使用しています。 http://jquery-datatables-row-grouping.googlecode.com/svn/trunk/collapsibleGroups.html

最初のビューですべてのグループが折りたたまれるように構成しました。

行のグループ化をより有益なものにするために、グループヘッダーに行数(グループあたりの行数)を追加したいと思います。これにより、ユーザーはクリックしてグループを展開するときに予想される追加情報の量を知ることができます。

すべてのボタンを展開/折りたたむことも非常に便利です。

誰かがこれらの機能を追加するために離れて見つけるのを手伝うことができますか?

私が達成しようとしていることを示すためにjsfiddleを設定しました: http://jsfiddle.net/lbriquet/4Rkb3/36/

どんな助けでも本当にありがたいです!

12
lbriquet
    $(document).ready(function () {
                $('#example').dataTable({
                    "bLengthChange": false,
                    "bPaginate": false,
                    "bJQueryUI": true
                }).rowGrouping({
                    bExpandableGrouping: true,
                    bExpandSingleGroup: false,
                    iExpandGroupOffset: -1,
                    asExpandedGroups: [""]
                });

                GridRowCount();
            });

            function GridRowCount() {
                $('span.rowCount-grid').remove();
                $('input.expandedOrCollapsedGroup').remove();

                $('.dataTables_wrapper').find('[id|=group-id]').each(function () {
                    var rowCount = $(this).nextUntil('[id|=group-id]').length;
                    $(this).find('td').append($('<span />', { 'class': 'rowCount-grid' }).append($('<b />', { 'text': rowCount })));
                });

                $('.dataTables_wrapper').find('.dataTables_filter').append($('<input />', { 'type': 'button', 'class': 'expandedOrCollapsedGroup collapsed', 'value': 'Expanded All Group' }));

                $('.expandedOrCollapsedGroup').live('click', function () {
                    if ($(this).hasClass('collapsed')) {
                        $(this).addClass('expanded').removeClass('collapsed').val('Collapse All Group').parents('.dataTables_wrapper').find('.collapsed-group').trigger('click');
                    }
                    else {
                        $(this).addClass('collapsed').removeClass('expanded').val('Expanded All Group').parents('.dataTables_wrapper').find('.expanded-group').trigger('click');
                    }
                });
            };


// ------------ Css -------------------------//
       .rowCount-grid
        {
            float: right;
            font-size: 15px;
            color: Red;
            padding-right: 250px;
        }
15
Thulasiram