6

jqGridでオートロードを無効にして、必要なときにデータを手動でロードする方法は?

ありがとう。

4

4 に答える 4

12

サーバーからのデータに設定datatypeした場合'local'は読み込まれません。データのロードを強制するには、メソッドに変更datatypeする'json'か、メソッド'xml'に関して変更できます ( http://www.trirand.com/jqgridwiki/doku.php?id=wiki:optionsおよびhttp://www.trirand.com/jqgridwikiを参照)。 /doku.php?id=wiki:methods#grid_related_methods ) メソッドを呼び出します。setGridParamtrigger("reloadGrid")

jqGridが、あなたが求めた情報も含むデータをロードしていないことを確認してください。

于 2010-07-20T17:23:19.723 に答える
2

テーブルにデフォルトの URL を設定しないでください。そして、データをロードする必要があるときに(たとえば、ボタンを押すことによって)インストールしてから .trigger("reloadGrid").

あなたの例:

jQuery("#grid").jqGrid(
         { 
            //Simply comment out the URL
            //url             :"salepointsprovider.php", 
            datatype:"json",
            colModel      :[
                {name:'SalePointId', index:'SalePointId'},
                {name:'Name', index:'Name'}
            ]
         }

 $('#ShowRecordsButton').click(function () {
           jQuery("#grid").jqGrid('setGridParam',
            {url:"salepointprovider.php?SalePointId=" + argSalePointId, page:1});
           jQuery("#grid").trigger('reloadGrid');
         }
于 2012-07-09T07:52:29.017 に答える
0

サーバーにリクエストを送信するURLのない私のグリッド:

.../?_search=false&nd=1370817124473&rows=20&page=1&sidx=&sord=asc

データ型を設定: "ローカル" 問題を解決します。グリッドをリロードする

`関数 reloadGrid(gridId, gridData){
    $(gridId).jqGrid('clearGridData'); // 空でないグリグが必要 (http://www.trirand.com/blog/?page_id=393/help/triggerreloadgrid-not-work/ を参照)
    $(gridId).jqGrid('setGridParam', {data: gridData}).trigger('reloadGrid');
}
`

データ型を変更する必要はありません(少なくとも私のjsonの場合は認識されます)

于 2013-06-09T22:37:17.153 に答える
0

treegrid では、datatype = 'local' を使用できませんでした。'local' の代わりに、datatype = 'jsonstring' を設定し、空の偽のデータと jsonReader を定義します。jsonReader は、取得したデータに従って正しく定義する必要があります。オレグの答えをありがとう。また、データをロードする必要がある場合は、データ型を「json」に変更するだけです。

var fakeData ={
    rows: []
};
...
datatype: 'jsonstring',
datastr: fakeData,
...
jsonReader: {
    repeatitems: false,
    root: function (obj) { return obj.rows; },
    page: function (obj) { return 1; },
    total: function (obj) { return 1; },
    records: function (obj) { return obj.length; }
}
于 2016-01-16T10:17:08.040 に答える