0

既存の JQGrid を更新すると、予期しない問題が発生しました: グリッドに最初は問題が表示されず、ユーザーが新しいデータをグリッドに適用すると、ヘッダーとデータ テーブルが表示され、グリッドのページャーが表示されなくなります。

    $("#grid").GridUnload();

    grid = jQuery("#grid").jqGrid({
        data : response.list,
        datatype : "local",
        colNames : columnNames,
        colModel : [ {
            name : 'column1',
            index : 'column1',
            width : 100,
            sorttype : 'text'
        }, {
            name : 'column2',
            index : 'column2',
            width : 100,
            sorttype : 'text'
        }, {
            name : 'column3',
            index : 'column3',
            width : 100,
            sorttype : 'text'
        }, {
            name : 'column4',
            index : 'column4',
            width : 100,
            sorttype : 'text'
        } ],
        rowNum : 30,
        width : $("#grid").width(),
        height : $("#grid").height(),
        rowList : [ 30, 100, 150 ],
        pager : "#gridPage",
        sortname : 'column1',
        viewrecords : true,
        sortorder : "desc",
        shrinkToFit : false,
        rownumbers : true,
        altRows : true,
        caption : "Sample Grid",
    });

    jQuery("#grid").jqGrid('navGrid', "#gridPage", {
        edit : false,
        add : false,
        del : false,
        search : false,
        refresh : false
    });

    jQuery("#grid").jqGrid('setGroupHeaders', {
        useColSpanStyle : true,
        groupHeaders : [ {
            startColumnName : 'column1',
            numberOfColumns : 2,
            titleText : 'MergedColumn1'
        }, {
            startColumnName : 'column3',
            numberOfColumns : 2,
            titleText : 'MergedColumn2'
        } ]
    });

ここでは、ご覧のとおり、新しい JQGrid グリッドを作成する前に、メソッド ' $("#grid").GridUnload();' を使用してグリッドをクリアしています。

私はそれをほとんど理解しておらず、何が起こるのか分かりませんでしたか? 誰か助けてくれませんか?

4

1 に答える 1

0

何度か試した後、この問題を解決しました。私の場合、グリッドの幅と高さを固定し、列が多すぎるときに水平スクロールバーを表示する必要がある場合は、次のように jqGrid を設定します。

grid= jQuery("#grid_id").jqGrid({
    width : 1000,
    height: 800,
    shrinkToFit: false,
});

グリッドが問題なく動作することを確認する最も重要なことは、グリッドが接続するテーブルに THML 構成 'align="center"' を追加する必要があることです。

<table id="grid_id" align="center"></table>

なぜこれで解決するのかわかりませんが、とにかく、うまくいきます。

于 2012-11-07T09:00:20.593 に答える