<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
	<title>jQuery Grid Plugin - jqGrid - Topic: Problem with sopt property when Searching</title>
	<link>http://www.trirand.com/blog/?page_id=393/help/problem-with-sopt-property-when-searching</link>
	<description><![CDATA[Grid plugin]]></description>
	<generator>Simple:Press Version 5.7.5.3</generator>
	<atom:link href="http://www.trirand.com/blog/?page_id=393/help/problem-with-sopt-property-when-searching/rss" rel="self" type="application/rss+xml" />
        <item>
        	<title>bogoa666 on Problem with sopt property when Searching</title>
        	<link>http://www.trirand.com/blog/?page_id=393/help/problem-with-sopt-property-when-searching#p19948</link>
        	<category>Help</category>
        	<guid isPermaLink="true">http://www.trirand.com/blog/?page_id=393/help/problem-with-sopt-property-when-searching#p19948</guid>
        	        	<description><![CDATA[<p>My problem is when I use &#39;cn&#39; and &#39;nc&#39; in the search options property. It&#39;s appear &#39;undefined&#39; 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<br />My code works fine! I only had this problem. <img class="spSmiley" style="margin:0" title="Yell" src="/blog/wp-content/forum-smileys/sf-yell.gif" alt="Yell" /></p>
<p>my view:</p>
<p><span style="color: #0000ff;">&#60;script language="javascript"&#62;<br />&#160;&#160; &#160;&#160;&#160; &#160;jQuery(document).ready(function(){ <br />&#160;&#160; &#160;&#160;&#160; &#160;&#160; jQuery("#list").jqGrid({<br />&#160;&#160; &#160;&#160;&#160; &#160;&#160;&#160;&#160; url:&#39;@{getGridSignalData()}&#39;,<br />&#160;&#160; &#160;&#160;&#160; &#160;&#160;&#160;&#160; datatype: &#39;xml&#39;,<br />&#160;&#160; &#160;&#160;&#160; &#160;&#160;&#160;&#160; mtype: "POST",<br />&#160;&#160; &#160;&#160;&#160; &#160;&#160;&#160;&#160; colNames:[&#39;Inv No&#39;, &#39;Name&#39;, &#39;Code&#39;, &#39;It is a Notification&#39;],<br />&#160;&#160; &#160;&#160;&#160; &#160;&#160;&#160;&#160; colModel :[ <br />&#160;&#160; &#160;&#160;&#160; &#160;&#160;&#160;&#160;&#160;&#160; {name:&#39;invid&#39;, index:&#39;invid&#39;, width:55, align:&#39;center&#39;, hidden: true}, <br />&#160;&#160; &#160;&#160;&#160; &#160;&#160;&#160;&#160;&#160;&#160; {name:&#39;name&#39;, index:&#39;name&#39;, width:250, align:&#39;center&#39;, editable:true, editoptions:{size:50}}, <br />&#160;&#160; &#160;&#160;&#160; &#160;&#160;&#160;&#160;&#160;&#160; {name:&#39;code&#39;, index:&#39;code&#39;, width:55, align:&#39;center&#39;, editable:true, editoptions:{size:25}},<br />&#160;&#160; &#160;&#160;&#160; &#160;&#160;&#160;&#160;&#160;&#160; {name:&#39;notification&#39;, index:&#39;notification&#39;, width:110, align:&#39;center&#39;, editable:true, edittype:"checkbox", editoptions:{value:"Yes:No"}} <br />&#160;&#160; &#160;&#160;&#160; &#160;&#160;&#160;&#160; ],<br />&#160;&#160; &#160;&#160;&#160; &#160;&#160;&#160;&#160; pager: &#39;#pager&#39;,<br />&#160;&#160; &#160;&#160;&#160; &#160;&#160;&#160;&#160; rowNum:5,<br />&#160;&#160; &#160;&#160;&#160; &#160;&#160;&#160;&#160; sortname: &#39;invid&#39;,<br />&#160;&#160; &#160;&#160;&#160; &#160;&#160;&#160;&#160; sortorder: &#39;desc&#39;,<br />&#160;&#160; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; width: "100%",<br />&#160;&#160; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; height: "100%",<br />&#160;&#160; &#160;&#160;&#160; &#160;&#160;&#160;&#160; viewrecords: true,<br />&#160;&#160; &#160;&#160;&#160; &#160;&#160;&#160;&#160; caption: &#39;Signals&#39;,<br />&#160;&#160; &#160;&#160;&#160; &#160;&#160;&#160; &#160;editurl:&#39;@{submitGridSignalData()}&#39; <br />&#160;&#160; &#160;&#160;&#160; &#160;&#160; }); <br />&#160;&#160; &#160;&#160;&#160; &#160;&#160; jQuery("#list").jqGrid(&#39;navGrid&#39;,&#39;#pager&#39;, {del:false,add:false,edit:false,search:false});<br />&#160;&#160; &#160;&#160;&#160; &#160;&#160; jQuery("#list").navButtonAdd(&#39;#pager&#39;, {caption: "", title: "Search", buttonicon: "ui-icon-search", position: "first", <br />&#160;&#160; &#160;&#160;&#160; &#160;&#160;&#160; &#160;&#160; onClickButton: function() {<br />&#160;&#160; &#160;&#160;&#160; &#160;&#160;&#160; &#160; &#160;&#160;&#160; &#160;jQuery("#list").jqGrid(&#39;searchGrid&#39;, {drag: false, sopt:[&#39;eq&#39;,&#39;ne&#39;,&#39;lt&#39;,&#39;le&#39;,&#39;gt&#39;,&#39;ge&#39;,<strong>&#39;cn&#39;,&#39;nc&#39;]</strong>,<br />&#160;&#160; &#160;&#160;&#160; &#160;&#160;&#160; &#160; &#160;&#160;&#160; &#160;&#160;&#160; &#160;odata:[&#39;equal&#39;,&#39;not equal&#39;,&#39;less&#39;,&#39;less or equal&#39;,&#39;greater&#39;,&#39;greater or equal&#39;,<strong>&#39;contains&#39;,&#39;nor contains&#39;</strong>]}); <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; }<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; }); &#160;<br /></span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; ...</p>
<p><span style="color: #0000ff;">&#60;/script&#62;</span></p>
<p>&#60;table id="list"&#62;&#60;/table&#62; <br />&#60;div id="pager"&#62;&#60;/div&#62;&#160;&#160;&#160;&#160;&#160;&#160;</p>
</p>
<p>my controller:</p>
<p><span style="color: #0000ff;">&#160;&#160;&#160; public static void getGridSignalData(Long id){ <br />&#160;&#160; &#160;&#160;&#160; &#160;List&#60;Signal&#62; signals = null;</span></p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: #0000ff;">Map&#60;String, String[]&#62; in = params.all();</span><br /><span style="color: #0000ff;">&#160;&#160; &#160;&#160;&#160; &#160;Boolean search = Boolean.valueOf(in.get("_search")[0]);</span><br />&#160;&#160; &#160;&#160;&#160; &#160;<strong><span style="color: #0000ff;">if(search){<br />&#160;&#160; &#160;&#160;&#160; &#160;&#160;&#160; &#160;String searchField = in.get("searchField")[0];<br />&#160;&#160; &#160;&#160;&#160; &#160;&#160;&#160; &#160;String searchOper = Utils.getSQLOperator(in.get("searchOper")[0]);<br />&#160;&#160; &#160;&#160;&#160; &#160;&#160;&#160; &#160;String searchString = in.get("searchString")[0];<br />&#160;&#160; &#160;&#160;&#160; &#160;&#160;&#160; &#160;String query = searchField+" "+searchOper+" ?";<br />&#160;&#160; &#160;&#160;&#160; &#160;&#160;&#160; &#160;if(searchOper.equals("contains")){<br />&#160;&#160; &#160;&#160;&#160; &#160;&#160;&#160; &#160;&#160;&#160; &#160;searchString = "%"+searchString+"%";<br />&#160;&#160; &#160;&#160;&#160; &#160;&#160;&#160; &#160;}<br />&#160;&#160; &#160;&#160;&#160; &#160;&#160;&#160; &#160;System.out.println("query: "+query+", searchString: "+searchString);<br />&#160;&#160; &#160;&#160;&#160; &#160;&#160;&#160; &#160;signals = Signal.find(query, searchString).fetch();<br />&#160;&#160; &#160;&#160;&#160; &#160;}</span></strong></p>
<p><span style="color: #0000ff;">&#160;&#160; &#160;&#160;&#160;&#160; else{<br />&#160;&#160; &#160;&#160;&#160; &#160;&#160;&#160; &#160;signals = Signal.findAll();<br />&#160;&#160; &#160;&#160;&#160; &#160;}</span></p>
<p><span style="color: #0000ff;">&#160;&#160; &#160;&#160;&#160;&#160; Integer limit = Integer.valueOf(in.get("rows")[0]);<br />&#160;&#160; &#160;&#160;&#160; &#160;Integer page = Integer.valueOf(in.get("page")[0]);&#160;&#160; &#160;&#160;&#160; &#160;<br />&#160;&#160; &#160;&#160;&#160; &#160;Integer records = signals.size();<br />&#160;&#160; &#160;&#160;&#160; &#160;Integer total = records &#60;= limit ? 1 : (records/limit)+1;&#160;&#160; &#160;&#160;&#160; &#160;<br />&#160;&#160; &#160;&#160;&#160; &#160;List&#60;String[]&#62; rows = new ArrayList&#60;String[]&#62;();<br />&#160;&#160; &#160;&#160;&#160; &#160;int min = ((page-1)*limit);<br />&#160;&#160; &#160;&#160;&#160; &#160;int max = (page*limit)-1;&#160;&#160; &#160;&#160;&#160; &#160;<br />&#160;&#160; &#160;&#160;&#160; &#160;for(int index=min; index &#60; records &#38;&#38; index &#60;= max; index++){<br />&#160;&#160; &#160;&#160;&#160; &#160;&#160;&#160; &#160;Signal signal = signals.get(index);<br />&#160;&#160; &#160;&#160;&#160; &#160;&#160;&#160; &#160;rows.add(new String[] {<br />&#160;&#160; &#160;&#160;&#160; &#160;&#160;&#160; &#160;&#160;&#160; &#160;signal.id.toString(), signal.name, signal.code.toString(), signal.notification ? "Yes" : "No"});<br />&#160;&#160; &#160;&#160;&#160; &#160;}&#160; &#160;&#160;&#160; &#160;<br />&#160;&#160; &#160;&#160;&#160; &#160;String xml = Utils.dataToXml(page, total, records, rows);<br />&#160;&#160; &#160;&#160;&#160; &#160;renderXml(xml);<br />&#160;&#160;&#160; }&#160;&#160;&#160; </span></p>
</p>
<p>thanks !!</p>
]]></description>
        	        	<pubDate>Thu, 23 Sep 2010 11:01:23 +0300</pubDate>
        </item>
</channel>
</rss>