1

列の並べ替えは、sortable:trueのJQGridでうまく機能します。ヘッダーをグループ化したので、機能しなくなりました。グループ化されたヘッダーを使用して列の並べ替えを機能させるにはどうすればよいですか。これがサンプルコードです

<script>
var mydata = [
    { id: "1", invdate: "2007-10-01", name: "test", note: "note", amount: "200.00", tax: "10.00", total: "210.00" },
    { id: "2", invdate: "2007-10-02", name: "test2", note: "note2", amount: "300.00", tax: "20.00", total: "320.00" },
    { id: "3", invdate: "2007-09-01", name: "test3", note: "note3", amount: "400.00", tax: "30.00", total: "430.00" },
    { id: "4", invdate: "2007-10-04", name: "test", note: "note", amount: "200.00", tax: "10.00", total: "210.00" }

    ];
function drawGrid() {
    jQuery("#list4").jqGrid({
        sortable: true,
        datatype: "local",
        colNames: ['Inv No', 'Date', 'Client', 'Amount', 'Tax', 'Total', 'Notes'],
        colModel: [
                    { name: 'id', index: 'id', width: 55 },
                    { name: 'invdate', index: 'invdate', width: 90 },
                    { name: 'name', index: 'name asc, invdate', width: 100 },
                    { name: 'amount', index: 'amount', width: 80, align: "right" },
                    { name: 'tax', index: 'tax', width: 80, align: "right" },
                    { name: 'total', index: 'total', width: 80, align: "right" },
                    { name: 'note', index: 'note', width: 150, sortable: false }
                ],

        sortname: 'invdate',
        viewrecords: true,
        sortorder: "desc",
        caption: "Column Reordering Example"

    });
}
$(document).ready(function () {
    drawGrid();
    jQuery("#list4").jqGrid('setGroupHeaders', {
        useColSpanStyle: false,
        groupHeaders: [
                        { startColumnName: 'amount', numberOfColumns: 2, titleText: '<em>Financial</em>' },
                      ]
    });
    for (var i = 0; i <= mydata.length; i++)
        jQuery("#list4").jqGrid('addRowData', i + 1, mydata[i]);

});

4

2 に答える 2

1

申し訳ありませんが、jqGridの多くの機能には対応する制限があります。sortable: trueまたはcolumnsChooserをヘッダーグループと一緒に使用することはできません(ドキュメントを参照)

于 2012-04-21T22:32:29.243 に答える
0

ひやデモhttp://jsfiddle.net/yNw3C/620/ _

コードが正常に機能することを確認してください。つまり、セットグループが正常に実行され、並べ替えも行われました。

これがお役に立てば幸いです。何か見逃したことがあれば教えてください。

コード

$(document).ready(function() {
    drawGrid();
    jQuery("#grid").jqGrid('setGroupHeaders', {
        useColSpanStyle: false,
        groupHeaders: [
            {
            startColumnName: 'amount',
            numberOfColumns: 2,
            titleText: '<em>Financial</em>'},
            ]
    });
    for (var i = 0; i <= mydata.length; i++)
    jQuery("#grid").jqGrid('addRowData', i + 1, mydata[i]);

});

画像

ここに画像の説明を入力してください

于 2012-04-21T21:46:31.140 に答える