私はqith jqGrid 4.3.1で作業していましたが、私はJSoundを返すエンドポイントをカプセル化して結果を取り込むためにJavaScriptメソッドを追加しています。jqGridページ分割の結果の配列
jQGridで結果の数、ページ番号、使用可能なページ数を直接設定してページャに正しく表示させる方法はありますか?そして、私の 'gridreload関数()'を起動するページャーの '矢'を設定するよりも?
Javascriptを:
$j('#searchResultsGrid').jqGrid({
pager: '#gridpager',
rowNum: 100,
height: 415,
width: 765,
colNames: ['Action','First Name','Last Name','Email','Type of Record','Company','Account Name'],
colModel: [
{
name:'Invite',
index:'Invite',
width:50,
align: 'center',
sortable:false},
{
name: 'FirstName',
index: 'FirstName',
width: 75
}, {
name: 'LastName',
index: 'LastName',
width: 75
},{
name: 'Email',
index: 'Email',
width: 100
}, {
name: 'Type',
index: 'Type',
width: 75
},{
name: 'Company',
index: 'Company',
width: 100
},{
name: 'AccountName',
index: 'AccountName',
width: 100
}],
//add the buttons for adding
gridComplete: function(){
...
}
}
});
/* Wrapper Method for Endpoint */
methodController.searchLeadsContacts($j('#searchTerm').val(),pageNum,function(event,result){
$j.each(result.result.searchResults, function(i, record){
var rowData = [{
'Id': record.Id,
'FirstName': record.FirstName,
'LastName': record.LastName,
'Email': record.Email,
'Type': record.Type,
'Company': record.Company,
'AccountName': record.AccountName
}];
$j('#searchResultsGrid').jqGrid('addRowData', record.Id, rowData[0]);
});
$j('#searchResultsGrid').setGridParam({ rowNum: 100 }).trigger("refresh");
HTML:
<table id="searchResultsGrid"></table>
<div id="gridpager"></div>
感謝@Oleg、私のループで 'addRowData'を削除し、jqGridに直接配列を(私はそれを処理した後に)適用し、 '.trigger( 'gridreload');'を使ってそれを再ロードする –
@ jordan.baucke: 'data'パラメータを設定した後で' refreshIndex'メソッドを呼び出すことだけが重要です。 ([ここ](http://stackoverflow.com/a/5536734/315935)を参照) – Oleg