In 5.1 release we added a option between in toolbar searching. To activate this it is needed to set in sopt array the word 'bt'.
To search it is needed to separate the values with ... By example the search between values 10248 and 10251 in OrderID it is needed to set 10248...10251 in searched input field.
<?php
require_once '../../../php/demo/tabs.php';
?>
<!DOCTYPE html>
<html>
<head>
<title>jqGrid PHP Demo</title>
<link rel="stylesheet" type="text/css" media="screen" href="../../../css/jquery-ui.css" />
<link rel="stylesheet" type="text/css" media="screen" href="../../../css/trirand/ui.jqgrid.css" />
<link rel="stylesheet" type="text/css" media="screen" href="../../../css/ui.multiselect.css" />
<style type="text">
html, body {
margin: 0; /* Remove body margin/padding */
padding: 0;
overflow: hidden; /* Remove scroll bars on browser window */
font-size: 75%;
}
</style>
<script src="../../../js/jquery.min.js" type="text/javascript"></script>
<script src="../../../js/trirand/i18n/grid.locale-en.js" type="text/javascript"></script>
<script src="../../../js/trirand/jquery.jqGrid.min.js" type="text/javascript"></script>
<script src="../../../js/jquery-ui.min.js" type="text/javascript"></script>
<script type="text/javascript">
$.jgrid.no_legacy_api = true;
$.jgrid.useJSON = true;
$.jgrid.defaults.width = "700";
</script>
</head>
<body>
<div>
<?php include ("grid.php");?>
</div>
<br/>
<?php tabs(array("grid.php"));?>
</body>
</html>
grid.php.
<?php
ini_set("diplay_errors",1);
require_once '../../jq-config.php';
// include the jqGrid Class
require_once ABSPATH."php/PHPSuito/jqGrid.php";
// include the driver class
require_once ABSPATH."php/PHPSuito/DBdrivers/jqGridPdo.php";
// Connection to the server
$conn = new PDO(DB_DSN,DB_USER,DB_PASSWORD);
// Tell the db that we use utf-8
$conn->query("SET NAMES utf8");
// Create the jqGrid instance
$grid = new jqGridRender($conn);
// Write the SQL Query
$grid->SelectCommand = 'SELECT a.OrderID, a.RequiredDate, a.ShipName, a.ShipCity, a.Freight FROM orders a';
// Set output format to json
$grid->dataType = 'json';
// Let the grid create the model
$grid->setColModel();
// Set the url from where we obtain the data
$grid->setUrl('grid.php');
//$grid->debug = true;
// Set some grid options
$grid->setGridOptions(array(
"rowNum"=>10,
"rowList"=>array(10,20,30),
"footerrow" => true,
"userDataOnFooter" => true
//"sortname"=>"Ordera"
));
// Change some property of the field(s)
$grid->setColProperty("RequiredDate", array(
"formatter"=>"date",
"formatoptions"=>array("srcformat"=>"Y-m-d H:i:s","newformat"=>"m/d/Y"),
"searchoptions"=>array("sopt"=>array("eq"))
)
);
$triggerdp = <<< TRIGGER
js:function( date, dp)
{
/*execute this only when toolbar search*/
if( dp.id.indexOf("gs_") === 0 ) {
$("#grid")[0].triggerToolbar();
$(this).data('datepicker').inline = true;
/* execute this only if dialog search*/
} else if(dp.id.indexOf($.jgrid.uidPref) === 0) {
/* do something when date is selected indialog search*/
}
}
TRIGGER;
$closedp = <<< CLOSEDP
js:function(){
$(this).data('datepicker').inline = false;
}
CLOSEDP;
$grid->setDbDate("Y-m-d H:i:s");
$grid->setUserDate("m/d/Y");
$grid->datearray= array("RequiredDate");
$grid->setDatepicker('RequiredDate', array(
"onSelect"=>$triggerdp,
"onClose"=>$closedp
));
$grid->setColProperty("OrderID", array("searchoptions"=>array("sopt"=>array("bt","eq","ne","le","ge","nu"))));
$grid->setColProperty("ShipName", array("width"=>"200", "searchoptions"=>array("sopt"=>array("eq","ne","le","ge","nu","bw"))));
// Enable filter toolbar searching
$grid->toolbarfilter = true;
$grid->setFilterOptions(array(
"stringResult"=> true,
"searchOperators"=>true
));
// we set the select for ship city
$grid->setSelect("ShipCity", "SELECT DISTINCT ShipCity, ShipCity AS CityName FROM orders ORDER BY 2", false, false, true, array(""=>"All"));
$grid->navigator = true;
$grid->setNavOptions('navigator', array("excel"=>false,"add"=>false,"edit"=>false,"del"=>false,"view"=>false, "search"=>true));
$summaryrows = array("Freight" => array("Freight" => "SUM"));
// Enjoy
$grid->renderGrid('#grid','#pager',true, $summaryrows, null, true,true);