2012-01-25 23 views
4

はここで、私は私のデータにいくつかのフィルタを適用し、FilteredDataと呼ばれる別の配列を作成しahve jqGridjqGridにデータを動的に割り当てる方法は?

$("#ptDataGrid").jqGrid({ 
        datatype: 'local', 
        data: arrSpecData, 
        colModel: colmod, 
        rowNum: 10, 
        rowList: [10], 
        pager: '#ptPager', 
        gridview: true, 
        rownumbers: false, 
        viewrecords: true, 
        loadonce:false, 
        hidegrid: false, 
        autowidth: true, 
        caption: 'Crank Pin', 
        height: '100%', 
       }); 

を作成するための私のコードです。今私はこの新しいデータソースをグリッドに割り当てたいと思っていました。私は知っているすべてのアプローチを試みました。しかし何も働かなかった。では、新しいデータソースをjqGridに動的に割り当てる方法を教えてください。それを割り当てる方法を提案してください。

   dataGrid.setGridParam({ data: filterdData }); 
       dataGrid[0].refreshIndex(); 
       dataGrid.trigger("reloadGrid"); 

まだ私が取得しています同じ結果が:(

回避策#1:あなたが最初のsetGridParamのに関して新しいdataを設定し、refreshIndexメソッドを呼び出すことができます

$('#divGrid').children().remove(); 
$('#divGrid').html(' <table id="ptDataGrid" class="jqgriddata"><tr><td/></tr></table><div id="ptPager"></div> '); 

createGrid(filterdData,true); 
+0

私の提案をどのようにテストしたか分かりません。私の答えの "更新された"部分では、リントをデモに追加しました。 – Oleg

+0

@Oleg、私もあなたのアプローチを試みました。しかし、それは期待どおりに動作しませんでした。それは更新された結果と以前のデータを表示しました。 – Dinesh

+0

申し訳ありませんが、間違っています!更新されたデータのみ*を表示します。実験を繰り返したり、デモでもっと注意深く見てみてください。あなたはhtmlページを保存し、 'mydata1'と' mydata2'からデータを修正し、それが実際に動作することを見ることができます。 – Oleg

答えて

5

(参照the answer)を使用して、内部で使用されている_indexパラメータを更新します。

更新the demoの "Change data"ボタンをクリックして、アプローチが機能することを確認します。

+0

あなたのデモは私にとってはうまくいったけど、私のコードと統合すると、同じ古い問題があった。私は自分のコードに何かが足りないと思う。私がチェックします。 – Dinesh

+0

@Dinesh:あなたが使っているコードの小さな断片だけを投稿するので、エラーを見つけることができません。 jqGridは内部的に 'data'を設定し、' refreshIndex'を呼び出すことはありません。だから正しい方法です。あなたのグリッドではまったく動作しないものは何ですか?あなたのエラーは 'colModel'か、あなたが使っている' arrSpecData'データにあります。これらはあなたの質問の最も重要な部分です。 – Oleg

関連する問題