Skip to content
GridPHP FrameworkGridPHP FrameworkGridPHP FrameworkDocumentation

Subgrid

Using Subgrid

Setting subGrid to true will enable subgrid. When clicking + icon on parent grid, it will try to load url defined in subgridurl. By default ‘rowid’ (PK) of parent is passed. subgridparams holds comma sep. fields that will be POSTed from parent grid to subgrid. They can be read using $_POST in subgrid.

$opt["subGrid"] = true;
$opt["subgridurl"] = "subgrid_detail.php";
$opt["subgridparams"] = "name,gender,company"; // no spaces b/w column names

On subgrid, data can be fetched and passed in SQL

$c_id = $_REQUEST["rowid"];
$g->select_command = "SELECT concat(id,'-',num) as `key`, i.*
FROM invlines i WHERE id = $c_id";

For extra params passed from parent other than rowid (e.g. company), we need some persistent storage in session for ajax calls

if (!empty($_POST["company"]))
$_SESSION["company"] = $_POST['company'];
$company = $_SESSION['company'];
  • See Live Demo

  • You can check this demo in archive demos/master-detail/subgrid.php

Using Subgrid

To define multiple subgrid at same level, just render 2 grids in detail grid page. Rest process will be same as above subgrid.

$g = new jqgrid();
// ...
$out1 = $g->render('list1');
$g = new jqgrid();
// ...
$out2 = $g->render('list2');
echo "<fieldset><legend>First Grid</legend>$out</fieldset>";
echo "<fieldset><legend>Second Grid</legend>$out2</fieldset>";
  • See Live Demo

  • Parent Grid Code

  • Detail Grid Code

  • You can check this demo in archive demos/master-detail/multi-subgrid.php