2011-08-13 7 views
6

カラム名がsidx、sord、filtersの場合、データを取得するjqGridは破損しています。私は下のコードを使用してそれらにアンダースコアを追加しようとしましたが、それらのパラメータはまだアンダースコアなしで渡されます。 _rowid、_pageなどの他のパラメータは、アンダースコアで正しく渡されます。jqGridのsidx、sord、filtersのパラメータ名を変更する方法

jqgridの列名としてsidx、sord、filtersを使用するにはどうすればよいですか?

jQuery.extend(jQuery.jgrid.defaults, { 
    prmNames: { id: "_rowid", oper: "_oper", page: "_page", 
     sidx: "_sidx", sord: "_sord", page: "_page", rows: "_rows", filters: "_filters" 
    } 
}); 

答えて

10

私はあなたが下の意味を理解していない「列名がSIDXている場合は、SORD、フィルターを、jqGrid取得データが壊れています」。それにもかかわらず、必要な場合は、prmNamesserializeGridDataという2つの方法でjqGridパラメータの名前を変更または削除できます。

prmNamesのデフォルト値のリストを慎重に調べる必要があります。方法でfiltersの名前を変更するには、しかし、あなたが

$.extend(jQuery.jgrid.defaults, { 
    prmNames: { 
     id: "_rowid", page: "_page", rows: "_rows", 
     oper: "_oper", sort: "_sidx", order: "_sord" 
    } 
}); 

(代わりにsidxsordsortorder)を使用する必要があり、他のパラメータの名前の名前を変更するには、no可能性はありません。 _filtersfiltersの名前を変更するには、空のsearchFieldの送信を削除するには、searchStringsearchOper私はhereを説明するものとほぼ同じ操作を行うことができます。

serializeGridData: function (postData) { 
    var myPostData = $.extend({}, postData); // make a copy of the input parameter 
    myPostData._filters = myPostData.filters; 
    delete myPostData.filters; 
    delete myPostData.searchField; 
    delete myPostData.searchString; 
    delete myPostData.searchOper; 
    return myPostData; 
} 

Fiddlerを使用するかFirebugあなたはthe demoのURLで使用されていることを確認することができます以下のパラメータ

_search=true&nd=1313235583212&_rows=10&_page=1&_sidx=invdate&_sord=desc&_filters=... 

必要に応じて

+0

ありがとうございます。これは問題を解決します。 – Andrus

関連する問題