0

データなしで初期化するグリッドがありますが、ユーザーの操作後にデータが読み込まれます。私のグリッドは、次のような「グループ化」機能も使用しています。

ordersGrid.jqGrid({
    url: '',
    mtype: '',
    datatype: 'local',
    colNames: ['Order', 'Task #', 'Type', 'Status', 'Assignee', 'Current Location',
        'Dest Location', 'Change No', 'Net Patched', 'SAN Patched', 'Select'],
    colModel: [
        { name: 'Order', index: 'Order ID'},
        { name: 'Task #', index: 'Task #'},
        { name: 'Type', index: 'Type'},
        { name: 'Status', index: 'Status'},
        { name: 'Assignee', index: 'Assignee'},
        { name: 'Current Location', index: 'Current Location'},
        { name: 'Dest Location', index: 'Dest Location'},
        { name: 'Change No', index: 'Change No'},
        { name: 'Net Patched', index: 'Net Patched'},
        { name: 'SAN Patched', index: 'SAN Patched'},
        { name: 'Select', index: 'Select', width:'75px', classes: "SelectColumn",
            editable: true, edittype:'checkbox', editoptions: {value:"True:False"},
            formatter:"checkbox", formatoptions: {disabled: false}}
    ],
    gridview: true,
    height: 'auto',
    pager: ordersGridPager,
    viewrecords: true,
    grouping: false, //Set to true once data is loaded.
    groupingView: {
        groupField: ['Order'],
        groupColumnShow: [false]
    },
    loadError: function(error) {
        console.error(error);
    }
});

グリッドの初期化中にプロパティ 'grouping' を true に設定すると、ページに次のエラーが表示されます。

Uncaught TypeError: Cannot read property 'stype' of undefined 

グループ化を true に設定する前にグリッドにデータがある場合、このエラーは発生しません。グループ化を false のままにしておくと、すべて問題ありません。

問題は、データがない場合でも「注文」列を表示したくないことです。どうすればこれを達成できますか?

問題のある JS Fiddle は次のとおりです: http://jsfiddle.net/qrjZD/1/

4

1 に答える 1

1

エラーが発生した主な問題は、値がプロパティの値と等しくない列でのindexプロパティの使用です。ローカル グリッド ( ) の場合、これを行うべきではありません。Ordernamedatatype: 'local'

次の問題は、nameスペースと . という特殊文字を含むプロパティを使用したことです#idグリッドの一部の要素の属性を構築するために name プロパティが使用されるため、これはお勧めしません。

http://jsfiddle.net/qrjZD/3/の修正コードを参照してください。

于 2012-09-21T20:54:57.623 に答える