Last active
June 14, 2020 20:12
-
-
Save gridphp/97fdc89b0e8ddb5f30d7 to your computer and use it in GitHub Desktop.
Try filter in total field, input 1,120 - https://www.gridphp.com
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
/** | |
* PHP Grid Component | |
* | |
* @author Abu Ghufran <[email protected]> - http://www.phpgrid.org | |
* @version 2.0.0 | |
* @license: see license.txt included in package | |
*/ | |
// include db config | |
include_once("../../config.php"); | |
// include and create object | |
include(PHPGRID_LIBPATH."inc/jqgrid_dist.php"); | |
// Database config file to be passed in phpgrid constructor | |
$db_conf = array( | |
"type" => PHPGRID_DBTYPE, | |
"server" => PHPGRID_DBHOST, | |
"user" => PHPGRID_DBUSER, | |
"password" => PHPGRID_DBPASS, | |
"database" => PHPGRID_DBNAME | |
); | |
$g = new jqgrid($db_conf); | |
$opt = array(); | |
$opt["rowNum"] = 10; // by default 20 | |
$opt["sortname"] = 'id'; // by default sort grid by this field | |
$opt["sortorder"] = "desc"; // ASC or DESC | |
$opt["caption"] = "Invoice Data"; // caption of grid | |
$opt["autowidth"] = true; // expand grid to screen width | |
$opt["multiselect"] = true; // allow you to multi-select through checkboxes | |
$opt["altRows"] = true; | |
$opt["altclass"] = "myAltRowClass"; | |
$opt["rowactions"] = true; // allow you to multi-select through checkboxes | |
// export XLS file | |
// export to excel parameters | |
$opt["export"] = array("format"=>"pdf", "filename"=>"my-file", "sheetname"=>"test"); | |
$g->set_options($opt); | |
$g->set_actions(array( | |
"add"=>false, // allow/disallow add | |
"edit"=>true, // allow/disallow edit | |
"delete"=>true, // allow/disallow delete | |
"rowactions"=>true, // show/hide row wise edit/del/save option | |
"showhidecolumns"=>true, // show/hide row wise edit/del/save option | |
"export"=>true, // show/hide export to excel option | |
"autofilter" => true, // show/hide autofilter for search | |
"search" => "advance" // show single/multi field search condition (e.g. simple or advance) | |
) | |
); | |
// you can provide custom SQL query to display data | |
$g->select_command = "SELECT i.id, invdate , c.name, | |
i.note, i.total, i.closed FROM invheader i | |
INNER JOIN clients c ON c.client_id = i.client_id"; | |
// this db table will be used for add,edit,delete | |
$g->table = "invheader"; | |
// you can customize your own columns ... | |
$col = array(); | |
$col["title"] = "Id"; // caption of column | |
$col["name"] = "id"; // grid column name, must be exactly same as returned column-name from sql (tablefield or field-alias) | |
$col["width"] = "15"; | |
$cols[] = $col; | |
$col = array(); | |
$col["title"] = "Client"; | |
$col["name"] = "name"; | |
$col["dbname"] = "LOWER(name)"; | |
$col["width"] = "100"; | |
$col["editable"] = false; // this column is not editable | |
$col["align"] = "center"; | |
$cols[] = $col; | |
$col = array(); | |
$col["title"] = "Note"; | |
$col["name"] = "note"; | |
$col["sortable"] = false; // this column is not sortable | |
$col["search"] = false; // this column is not searchable | |
$col["editable"] = true; | |
$col["edittype"] = "textarea"; // render as textarea on edit | |
$col["editoptions"] = array("rows"=>2, "cols"=>20); // with these attributes | |
// don't show this column in list, but in edit/add mode | |
$col["hidden"] = true; | |
$col["editrules"] = array("edithidden"=>true); | |
$cols[] = $col; | |
$col = array(); | |
$col["title"] = "Date"; | |
$col["name"] = "invdate"; | |
$col["width"] = "50"; | |
$col["editable"] = true; // this column is editable | |
$col["editoptions"] = array("size"=>20); // with default display of textbox with size 20 | |
$col["editrules"] = array("required"=>true); // required:true(false), number:true(false), minValue:val, maxValue:val | |
$col["formatter"] = "date"; // format as date | |
$cols[] = $col; | |
$col = array(); | |
$col["title"] = "Total"; | |
$col["name"] = "total"; | |
$col["width"] = "50"; | |
$col["editable"] = true; | |
$col["searchoptions"]["sopt"] = array("in"); // and is required | |
// default render is textbox | |
$col["editoptions"] = array("value"=>'10'); | |
// can be switched to select (dropdown) | |
# $col["edittype"] = "select"; // render as select | |
# $col["editoptions"] = array("value"=>'10:$10;20:$20;30:$30;40:$40;50:$50'); // with these values "key:value;key:value;key:value" | |
$cols[] = $col; | |
$col = array(); | |
$col["title"] = "Closed"; | |
$col["name"] = "closed"; | |
$col["width"] = "50"; | |
$col["editable"] = true; | |
$col["edittype"] = "checkbox"; // render as checkbox | |
$col["editoptions"] = array("value"=>"Yes:No"); // with these values "checked_value:unchecked_value" | |
$cols[] = $col; | |
# Custom made column to show link, must have default value as it's not db driven | |
$col = array(); | |
$col["title"] = "Details"; | |
$col["name"] = "view_more"; | |
$col["width"] = "30"; | |
$col["align"] = "center"; | |
$col["search"] = false; | |
$col["sortable"] = false; | |
$col["link"] = "http://localhost/?id={id}"; // e.g. http://domain.com?id={id} given that, there is a column with $col["name"] = "id" exist | |
$col["linkoptions"] = "target='_blank'"; // extra params with <a> tag | |
$col["default"] = "View More"; // default link text | |
$cols[] = $col; | |
// pass the cooked columns to grid | |
$g->set_columns($cols); | |
// generate grid output, with unique grid name as 'list1' | |
$out = $g->render("list1"); | |
?> | |
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> | |
<html> | |
<head> | |
<link rel="stylesheet" type="text/css" media="screen" href="../../lib/js/themes/redmond/jquery-ui.custom.css"></link> | |
<link rel="stylesheet" type="text/css" media="screen" href="../../lib/js/jqgrid/css/ui.jqgrid.css"></link> | |
<script src="../../lib/js/jquery.min.js" type="text/javascript"></script> | |
<script src="../../lib/js/jqgrid/js/i18n/grid.locale-en.js" type="text/javascript"></script> | |
<script src="../../lib/js/jqgrid/js/jquery.jqGrid.min.js" type="text/javascript"></script> | |
<script src="../../lib/js/themes/jquery-ui.custom.min.js" type="text/javascript"></script> | |
</head> | |
<body> | |
<style> | |
.myAltRowClass { background-color: #F1F1F1; background-image: none; } | |
</style> | |
<div style="margin:10px"> | |
<?php echo $out?> | |
</div> | |
</body> | |
</html> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment