, postData (. http://www.trirand.com/jqgridwiki/doku.php?id=wiki:options) . addJSONData jqGrid setGridParam() trigger ('reloadGrid')?, , , jqGrid.
, jqGrid () . - " " (. http://www.trirand.com/jqgridwiki/doku.php?id=wiki:advanced_searching) . " " - .
URL- :
?
_ = {_ } & = {} & = {} & sidx = {sortIndex} & Sord = {SortDirection} & searchField = {searchField} & SearchString = {SearchString } & searchOper = {searchOper} & = {}
. - JSON ,
filters =
{"groupOp":"AND",
"rules":[
{"field":"invdate","op":"ge","data":"2007-10-06"},
{"field":"invdate","op":"le","data":"2007-10-20"},
{"field":"name","op":"bw","data":"Client 3"}
]
}
DataContractJsonSerializer. :
MemoryStream ms = new MemoryStream (Encoding.Unicode.GetBytes (filters));
DataContractJsonSerializer serializer = new DataContractJsonSerializer (typeof(jqGridSearchFilter));
ms.Position = 0;
jqGridSearchFilter searchFilter = (jqGridSearchFilter)serializer.ReadObject (ms);
string groupOp = null;
if (!String.IsNullOrEmpty(searchFilter.groupOp) &&
String.Compare (searchFilter.groupOp, "AND", StringComparison.Ordinal) == 0)
groupOp = "AND";
else if (!String.IsNullOrEmpty(searchFilter.groupOp) &&
String.Compare (searchFilter.groupOp, "OR", StringComparison.Ordinal) == 0)
groupOp = "OR";
else {
arSearchStringParameters = null;
return null;
}
for (int i=0; i "WHERE ".Length)
sb.Append (groupOp);
AppendWhere (sb, _search,
searchFilter.rules[i].field, searchFilter.rules[i].op, searchFilter.rules[i].data,
arColumnInfos, parameters);
}
internal enum GroupOperation {
AND,
OR
}
[DataContract]
internal class jqGridSearchFilterItem {
[DataMember]
internal string field = null;
[DataMember]
internal string op = null;
[DataMember]
internal string data = null;
}
[DataContract]
internal class jqGridSearchFilter {
[DataMember]
internal string groupOp = null;
[DataMember]
internal List rules = null;
}