Forum



11:01

23/09/2010

My problem is when I use 'cn' and 'nc' in the search options property. It's appear 'undefined' in the combo and I want to use LIKE in the search. My version of jqgrid is 3.7.2 and jquery 1.4.2
My code works fine! I only had this problem.
my view:
<script language="javascript">
jQuery(document).ready(function(){
jQuery("#list").jqGrid({
url:'@{getGridSignalData()}',
datatype: 'xml',
mtype: "POST",
colNames:['Inv No', 'Name', 'Code', 'It is a Notification'],
colModel :[
{name:'invid', index:'invid', width:55, align:'center', hidden: true},
{name:'name', index:'name', width:250, align:'center', editable:true, editoptions:{size:50}},
{name:'code', index:'code', width:55, align:'center', editable:true, editoptions:{size:25}},
{name:'notification', index:'notification', width:110, align:'center', editable:true, edittype:"checkbox", editoptions:{value:"Yes:No"}}
],
pager: '#pager',
rowNum:5,
sortname: 'invid',
sortorder: 'desc',
width: "100%",
height: "100%",
viewrecords: true,
caption: 'Signals',
editurl:'@{submitGridSignalData()}'
});
jQuery("#list").jqGrid('navGrid','#pager', {del:false,add:false,edit:false,search:false});
jQuery("#list").navButtonAdd('#pager', {caption: "", title: "Search", buttonicon: "ui-icon-search", position: "first",
onClickButton: function() {
jQuery("#list").jqGrid('searchGrid', {drag: false, sopt:['eq','ne','lt','le','gt','ge','cn','nc'],
odata:['equal','not equal','less','less or equal','greater','greater or equal','contains','nor contains']});
}
});
...
</script>
<table id="list"></table>
<div id="pager"></div>
my controller:
public static void getGridSignalData(Long id){
List<Signal> signals = null;
Map<String, String[]> in = params.all();
Boolean search = Boolean.valueOf(in.get("_search")[0]);
if(search){
String searchField = in.get("searchField")[0];
String searchOper = Utils.getSQLOperator(in.get("searchOper")[0]);
String searchString = in.get("searchString")[0];
String query = searchField+" "+searchOper+" ?";
if(searchOper.equals("contains")){
searchString = "%"+searchString+"%";
}
System.out.println("query: "+query+", searchString: "+searchString);
signals = Signal.find(query, searchString).fetch();
}
else{
signals = Signal.findAll();
}
Integer limit = Integer.valueOf(in.get("rows")[0]);
Integer page = Integer.valueOf(in.get("page")[0]);
Integer records = signals.size();
Integer total = records <= limit ? 1 : (records/limit)+1;
List<String[]> rows = new ArrayList<String[]>();
int min = ((page-1)*limit);
int max = (page*limit)-1;
for(int index=min; index < records && index <= max; index++){
Signal signal = signals.get(index);
rows.add(new String[] {
signal.id.toString(), signal.name, signal.code.toString(), signal.notification ? "Yes" : "No"});
}
String xml = Utils.dataToXml(page, total, records, rows);
renderXml(xml);
}
thanks !!
Most Users Ever Online: 715
Currently Online:
81 Guest(s)
Top Posters:
OlegK: 1255
markw65: 179
kobruleht: 144
phicarre: 132
YamilBracho: 124
Renso: 118
Member Stats:
Guest Posters: 447
Members: 11373
Moderators: 2
Admins: 1
Forum Stats:
Groups: 1
Forums: 8
Topics: 10592
Posts: 31289
Newest Members:
, razia, Prankie, psky, praveen neelam, greg.valainis@pa-tech.comModerators: tony: 7721, Rumen[Trirand]: 81
Administrators: admin: 66