1

これは私のグリッドです:

   colModel: [  

            { name: "userGroupID", index: "userGroupID", width: 50, hidden:true, align: "left" }, 
            //{ name: "userId", index: "userId", width: 75, align: "left",title:false,search:false, sorttype:'text'},
            { name: "userInfoID", index: "userInfoID", width: 75, align: "left",hidden:true,title:false,search:true, sorttype:'text'},
            { name: "userID", index: "userID", width: 75, align: "left",title:false,search:true, sorttype:'text'},
            { name: "firstName", index: "firstName", width: 75, align: "left",title:false,search:false, sorttype:'text'},
            { name: "organizationName", index: "organizationName", width: 75, align: "left",title:false,search:false, sorttype:'text'},
            { name: 'action', index: 'action', width: 70, align: "left",sortable: false, search:false}          
            ],

サーバーからデータを取得してグリッドに入力し、独自のデータをグリッドに追加しようとしています。使った

var grid = jQuery("#jqTable");
   var data = [{"userGroupID":"2","userInfoID":"2","userID":"userID","firstName":"firstName","organizationName":"organizationName"}];
        //jQuery("#jqTableList").addRowData("userGroupID",data);
        grid.jqGrid('addRowData','1',data);
        //jQuery("#jqTableList").trigger("reloadGrid");

それは言っています:TypeError: t.p is undefined

u = t.p.rownumbers === true ? 1 : 0;

私を助けてください..

4

1 に答える 1

1

メソッドの使い方addRowDataが間違っています。これを使用して複数の行を追加する場合は、addRowDataメソッドの最初のパラメーターを変更する必要があります。

jqGridのドキュメントで以下を読むことができます。

このメソッドは、一度に複数の行を挿入できます。この場合、データ パラメータは次のように定義された配列である必要が [{name1:value1,name2: value2…}, {name1:value1,name2: value2…} ]あり、最初のオプションrowidには、行の ID として機能するデータ オブジェクトからの名前が含まれている必要があります。rowidこの場合の の名前が の一部である必要はありません。colMode

したがって、たとえばuserGroupID、すべての行の ID として解釈できる一意の値が含まれている場合addRowDataは、次の形式で使用できます

grid.jqGrid('addRowData', 'userGroupID', data);

あなたの現在のあなたのコードでは、名前の列を投稿する'1'と として解釈されidます。ところで、idグリッドの値を指定することは非常に重要です。列userGroupID(またはグリッドの他の列) を実際に ID として使用できる場合はkey: true、列にプロパティを追加する必要があります。プロパティは 1 つの列にのみ使用できます。

addRowData一般に、グリッドの作成時にデータがわかっている場合は、グリッドの塗りつぶしに使用することはお勧めしません(詳細については、回答を参照してください)。グリッドがある場合は、datetype: "local"を使用するとより効果的data: yourArrayWithDataです。グリッドを交換する必要がある場合dataは、使用できます

grid.jqGrid("getGridParam").data = myNewData;

答えを見る

于 2012-12-19T07:19:23.700 に答える