struts2-jquery-jqgrid プラグインを使用してグリッドを構築しています。このグリッドで filter-search**h を使用しています。ドロップダウン リストから選択したオプションに基づいてグリッドをフィルター処理するために、列 assigned_user にドロップダウン リストがあります。**支柱を使用して既に構築されたグリッド
<s:url var="remoteurl" action="adminJsontable">
</s:url>
<sjg:grid
id="gridtable"
caption="Issue-Summary"
dataType="json"
href="%{remoteurl}"
pager="true"
gridModel="finalGridModel"
rowList="10,20,25"
rowNum="10"
rownumbers="true"
width="1250"
filter="true"
filterOptions="{stringResult :false,
searchOnEnter : true,
enableClear : true,
autosearch : false
}"
loadonce="false"
>
<sjg:gridColumn name="issue_id" id="issueId" index="id" title="Issue-ID" formatter="integer" formatoptions="{thousandsSeparator: ''}" sortable="false" width="100"/>
<sjg:gridColumn name="issue_description" index="issue_description" title="Issue-Details" sortable="false" width="300"/>
<sjg:gridColumn name="issue_raised_date" index="issue_raised_date" title="Issue-Date" formatter="date" sortable="false" width="100"/>
<sjg:gridColumn name="issue_action" index="issue_action" title="Action" formatter="formatLink" sortable="false"/>
<sjg:gridColumn name="assigned_to" index="assigned_user" key="assigned_user" title="Assigned To"
sortable="false"
searchtype="select"
search="true"
searchoptions="{defaultSearch:'cn', dataUrl : '%{fillUser}',
dataEvents: [{ type: 'change', data: { field: 'assigned_user',operation:'eq'}, fn: function(elem) { filterFunction(elem)}}]}"/>
</sjg:grid>
次を使用してこのグリッドをフィルタリングします
function filterFunction(ele) {
var selectedOption=$(ele.target).val();
$.ajax({
url: "adminJsontable?searchString=" + selectedOption + "&searchField=" + ele.data.field,
dataType: "json",
complete: function (jsondata, stat) {
if (stat=="success") {
//here i am loading the json data as response from server
jQuery("#gridtable")[0].addJSONData(jsondata);
}
}
});
}
次のオブジェクトのリストを含む json-data:
public class Jgrid_Data
{
private String issue_id;//getters & setters
private String issue_raised_date;
private String issue_description;
private String issue_status;
private String assigned_to;
問題のシナリオ:
初めてjqgridがロードされたとき、それはただ素晴らしく動作します.同じjson-data、つまりサーバーからのリストによってロードされますが、グリッドをフィルタリングして同じコレクションを異なるデータでロードすると、jqgridは行を表示しません.なぜこれが起こっているのですか?
更新セクション:これは私のjson-dataです
{
"finalGridModel": [
{
"assigned_to": "neo",
"issue_description": "Balance not Showing_OR7520180001",
"issue_id": "2880",
"issue_raised_date": "2012-03-05",
"issue_status": "Assigned"
},
{
"assigned_to": "neo",
"issue_description": "Re: for accounts",
"issue_id": "3215",
"issue_raised_date": "2012-03-10",
"issue_status": "Assigned"
},
{
"assigned_to": "neo",
"issue_description": "[Fwd: Transaction issue of chhatarpur M.P.csp Rohit jain",
"issue_id": "3714",
"issue_raised_date": "2012-03-15",
"issue_status": "Assigned"
},
{
"assigned_to": "neo",
"issue_description": "Balance not Showing_(Sambalpur)_19_03_2012",
"issue_id": "3995",
"issue_raised_date": "2012-03-19",
"issue_status": "Assigned"
},
{
"assigned_to": "neo",
"issue_description": "Fwd: issue no-103",
"issue_id": "4003",
"issue_raised_date": "2012-03-19",
"issue_status": "Assigned"
}
],
"issueTrackerInstance": {
"assigned_by": null,
"issue_id": null,
"issue_status": null,
"tracked_time": null,
"tracker_name": null,
"tracker_status": null
},
"page": 1,
"records": 10,
"rows": 10,
"session": {
"filter_user": "neo",
"userName": "admin"
},
"sidx": null,
"sord": "asc",
"stringResult": null,
"total": 1
}
どんな助けでも素晴らしいでしょう