J'utilise les plugins struts2-jquery-jqgrid pour construire la grille. J'ai filtre-searc ** h sur cette grille. J'ai une liste déroulante sur la colonne assigned_user pour filtrer la grille en fonction de l'option sélectionnée dans la liste déroulante. ** Mes grille déjà construites en utilisant des entretoisescomment charger json dans jqgrid
<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>
I filtrer cette grille en utilisant suivantes
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-données contenant la liste des objets suivants:
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;
Problème:
première fois lorsque jqgrid chargé, il fonctionne simplement génial, il est chargé par le même json-data ie une liste du serveur, mais quand je filtre la grille et charge la même collection avec des données différentes jqgrid ne montre pas de lignes .Pourquoi est-ce qui se passe?
MISE À JOUR SECTION: Cette mes JSON données
{
"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
}
toute aide serait grande