Home › Forums › Guriddo Suito PHP › Master Detail – jqGridArray?
Can jqGrid support to have two array grids at one page like in demo Master Detail On Select?
I tested and second grid (detail) not showing rows, only shows total number of rows…?
Hello,
Can you please post your code?
The most common error in this case is that both grid have equal id and this make a conflict.
Please check tha master and detail have different ids.
Publishing code is highly recommended.
Kind Regards,
HTML
|
1 2 3 4 5 6 7 8 9 10 11 |
<div> <table id="grid"></table> <?php include ("arhivaScadaGrid.php");?> </div> <div> <table id="detail"></table> <?php include ("arhivaScadaDate.php");?> </div> |
arhivaScadaGrid.php
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 |
require_once 'dbconfig.php'; require_once 'jqSuite/php/jqGrid.php'; require_once 'jqSuite/php/jqGridArray.php'; //--------------------------------------------------------------------------// $connectionInfo = array("UID" => DB_USER, "PWD" => DB_PASSWORD,"Database"=>DB_NAME,"ReturnDatesAsStrings" => true); $conn = sqlsrv_connect(DB_HOST, $connectionInfo); if( $conn ){ //echo "Conexiune stabilita."; }else{ echo "Conexiunea nu a putut fi stabilita."; die( print_r( sqlsrv_errors(), true)); } $query = "SELECT CodPT,CodParam,Denumire,Parametri FROM ScadaArhiva"; $resultPT = sqlsrv_query($conn,$query); if( $resultPT === false) { echo " Eroare la executie interogare."; die( print_r( sqlsrv_errors(), true) ); }else{ //echo " Executat interogare..."; } $arhivaPT = array(); while($row = sqlsrv_fetch_array($resultPT,SQLSRV_FETCH_ASSOC)) { $arhivaPT[] = $row; } $gridPT = new jqGridArray(); $grid = new jqGridRender($gridPT); $grid->SelectCommand = "SELECT * FROM arhivaPT"; $grid->dataType = 'json'; $grid->setPrimaryKeyId('CodParam'); $grid->setColModel(); $grid->setUrl('arhivaScadaGrid.php'); $grid->setGridOptions(array( "width"=>500, "rowNum"=>10, "rowList"=>array(10,20,30), "sortname"=>"Denumire" )); $grid->setColProperty("CodPT", array("hidden"=>true)); $grid->setColProperty("CodParam", array("hidden"=>true)); $grid->setColProperty("Denumire", array("label"=>"Denumire", "width"=>250,"align"=>"left","hidden"=>false)); $grid->setColProperty("Parametri", array("label"=>"Parametri", "width"=>250,"align"=>"left","hidden"=>false)); $onselect = <<setGridEvent('onSelectRow', $onselect); function(rowid, selected){ if(rowid != null) { rowdata = jQuery(this).jqGrid('getRowData', rowid); jQuery("#detail").jqGrid('setGridParam',{postData:{COL1: rowdata.CodPT, COL2 : rowdata.CodParam}}); jQuery("#detail").trigger("reloadGrid"); } } ONSELECT; $grid->setGridEvent('onSelectRow', $onselect); $grid->navigator = true; $grid->toolbarfilter = true; $grid->setFilterOptions(array("searchOnEnter"=>false)); $grid->setNavOptions('navigator', array("excel"=>false,"add"=>false,"edit"=>false,"del"=>false,"view"=>false,"csv"=>false, "pdf"=>false)); $grid->setNavOptions('search',array("multipleSearch"=>false)); $grid->renderGrid('#grid','#pager',true, null, null, true,true); $gridPT = null; |
arhivaScadaDate
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 |
require_once 'dbconfig.php'; require_once 'jqSuite/php/jqGrid.php'; require_once 'jqSuite/php/jqGridArray.php'; $CodPT = jqGridUtils::GetParam("COL1"); $CodParam = jqGridUtils::GetParam("COL2"); $info = getdate(); $DataStart=$info['year'].'-'.$info['mon'].'-'.($info['mday']); $DataStop=$info['year'].'-'.$info['mon'].'-'.($info['mday']+1); $connectionInfo = array("UID" => DB_USER, "PWD" => DB_PASSWORD,"Database"=>DB_NAME,"ReturnDatesAsStrings" => true); $conn = sqlsrv_connect(DB_HOST, $connectionInfo); if( $conn ){ //echo "Conexiune stabilita.</br>"; }else{ echo "Conexiunea nu a putut fi stabilita.</br>"; die( print_r( sqlsrv_errors(), true)); } $params = array( array($CodPT,SQLSRV_PARAM_IN), array($CodParam,SQLSRV_PARAM_IN), array($DataStart,SQLSRV_PARAM_IN), array($DataStop,SQLSRV_PARAM_IN) ); $query = "{Call procArhivaScada (?,?,?,?)}"; $result = sqlsrv_query($conn,$query,$params); if( $result === false) { echo " Eroare la executie interogare.</br>"; die( print_r( sqlsrv_errors(), true) ); }else{ //echo " Executat interogare...</br>"; } $arhivaDate = array(); while($row = sqlsrv_fetch_array($result,SQLSRV_FETCH_ASSOC)) { $arhivaDate[] = $row; } $fp = fopen('arhivaDate.json', 'w'); fwrite($fp, json_encode($arhivaDate)); fclose($fp); $connGrd = new jqGridArray(); $grid = new jqGridRender($connGrd); $grid->SelectCommand = "SELECT * FROM arhivaDate"; $grid->dataType = 'json'; $grid->setPrimaryKeyId('readouttime'); $grid->setColModel(); $grid->setUrl('arhivaScadaDate.php'); $grid->debug = true; $grid->showError = true; $grid->setGridOptions(array( "width"=>700, "rowNum"=>10, "rowList"=>array(10,20,30) )); $grid->navigator = true; $grid->setNavOptions('navigator', array("excel"=>false,"add"=>false,"edit"=>false,"del"=>false,"view"=>false,"csv"=>false, "pdf"=>false)); $grid->setNavOptions('search',array("multipleSearch"=>false)); $grid->renderGrid("#detail","#pgdetail",true, null, null, true,true); $connGrd = null; |
When i check arhivaDate.json file write on disk by “arhivaScadaDate.php” , everything is OK…but second grid not display rows … only number of record in footer (“View 1 – 10 of 13”).
arhivaDate.json
|
1 2 |
[{"readouttime":"2015-09-07 12:00:00.000","Ziua":"07.09.2015 12:00:00","Pres ACM":"2.83","Pres INC":"0","Temp ACM P4":"59.56","Temp EXT":"22.87","Temp INC":"33.37","Temp Tur TF":"65.43"},{"readouttime":"2015-09-07 11:00:00.000","Ziua":"07.09.2015 11:00:00","Pres ACM":"2.789","Pres INC":"0","Temp ACM P4":"57.43","Temp EXT":"21.37","Temp INC":"33.37","Temp Tur TF":"64.18"},{"readouttime":"2015-09-07 10:00:00.000","Ziua":"07.09.2015 10:00:00","Pres ACM":"2.824","Pres INC":"0","Temp ACM P4":"59.37","Temp EXT":"19.5","Temp INC":"33.43","Temp Tur TF":"64.37"},{"readouttime":"2015-09-07 09:00:00.000","Ziua":"07.09.2015 09:00:00","Pres ACM":"2.767","Pres INC":"0","Temp ACM P4":"58.68","Temp EXT":"18.25","Temp INC":"33.5","Temp Tur TF":"65.93"},{"readouttime":"2015-09-07 08:00:00.000","Ziua":"07.09.2015 08:00:00","Pres ACM":"2.821","Pres INC":"0","Temp ACM P4":"61.5","Temp EXT":"17.93","Temp INC":"33.68","Temp Tur TF":"66.37"},{"readouttime":"2015-09-07 07:00:00.000","Ziua":"07.09.2015 07:00:00","Pres ACM":"2.784","Pres INC":"0","Temp ACM P4":"45.12","Temp EXT":"17.31","Temp INC":"33.87","Temp Tur TF":"63.06"},{"readouttime":"2015-09-07 06:00:00.000","Ziua":"07.09.2015 06:00:00","Pres ACM":"2.857","Pres INC":"0","Temp ACM P4":"61.31","Temp EXT":"17.43","Temp INC":"34.06","Temp Tur TF":"63.31"},{"readouttime":"2015-09-07 05:00:00.000","Ziua":"07.09.2015 05:00:00","Pres ACM":"2.853","Pres INC":"0","Temp ACM P4":"63.31","Temp EXT":"17.93","Temp INC":"34.18","Temp Tur TF":"64.81"},{"readouttime":"2015-09-07 04:00:00.000","Ziua":"07.09.2015 04:00:00","Pres ACM":"2.864","Pres INC":"0","Temp ACM P4":"63.18","Temp EXT":"18.18","Temp INC":"34.31","Temp Tur TF":"65.25"},{"readouttime":"2015-09-07 03:00:00.000","Ziua":"07.09.2015 03:00:00","Pres ACM":"3.211","Pres INC":"0","Temp ACM P4":"63.31","Temp EXT":"19.06","Temp INC":"34.37","Temp Tur TF":"65.18"},{"readouttime":"2015-09-07 02:00:00.000","Ziua":"07.09.2015 02:00:00","Pres ACM":"3.142","Pres INC":"0","Temp ACM P4":"63.75","Temp EXT":"19.81","Temp INC":"34.43","Temp Tur TF":"65.81"},{"readouttime":"2015-09-07 01:00:00.000","Ziua":"07.09.2015 01:00:00","Pres ACM":"2.855","Pres INC":"0","Temp ACM P4":"63.93","Temp EXT":"20.37","Temp INC":"34.5","Temp Tur TF":"65.62"},{"readouttime":"2015-09-07 00:00:00.000","Ziua":"07.09.2015 00:00:00","Pres ACM":"3.023","Pres INC":"0","Temp ACM P4":"63.31","Temp EXT":"21","Temp INC":"34.56","Temp Tur TF":"65.06"}] |
Hello,
The problem is in the response.
The key values in the response should not contain spaces. Your response contain such one.
By example you have:
“Pres ACM”:”2.83″,”Pres INC”:”0″
This should be converted to:
“PresACM”:”2.83″,”PresINC”:”0″
or
“Pres_ACM”:”2.83″,”Pres_INC”:”0″
Kind Regards,
Will
Guriddo Support Team
The problem is in the response.
Thank you…but still not work…
Here is new json.
[{"readouttime":"2015-09-08 09:00:00.000","Ziua":"08.09.2015 09:00:00","Pres_ACM":"2.838","Pres_INC":"0","Temp_ACM_P4":"63.75","Temp_EXT":"17.06","Temp_INC":"32.37","Temp_Tur_TF":"65.31"},{"readouttime":"2015-09-08 08:00:00.000","Ziua":"08.09.2015 08:00:00","Pres_ACM":"2.785","Pres_INC":"0","Temp_ACM_P4":"61.56","Temp_EXT":"15.5","Temp_INC":"32.5","Temp_Tur_TF":"65.87"},{"readouttime":"2015-09-08 07:00:00.000","Ziua":"08.09.2015 07:00:00","Pres_ACM":"2.793","Pres_INC":"0","Temp_ACM_P4":"62","Temp_EXT":"16.43","Temp_INC":"32.5","Temp_Tur_TF":"64.31"},{"readouttime":"2015-09-08 06:00:00.000","Ziua":"08.09.2015 06:00:00","Pres_ACM":"2.848","Pres_INC":"0","Temp_ACM_P4":"57.81","Temp_EXT":"16.12","Temp_INC":"32.75","Temp_Tur_TF":"62.93"},{"readouttime":"2015-09-08 05:00:00.000","Ziua":"08.09.2015 05:00:00","Pres_ACM":"2.853","Pres_INC":"0","Temp_ACM_P4":"61.06","Temp_EXT":"16.81","Temp_INC":"32.87","Temp_Tur_TF":"63.68"},{"readouttime":"2015-09-08 04:00:00.000","Ziua":"08.09.2015 04:00:00","Pres_ACM":"2.856","Pres_INC":"0","Temp_ACM_P4":"60.56","Temp_EXT":"17.12","Temp_INC":"33","Temp_Tur_TF":"63.5"},{"readouttime":"2015-09-08 03:00:00.000","Ziua":"08.09.2015 03:00:00","Pres_ACM":"2.86","Pres_INC":"0","Temp_ACM_P4":"60.56","Temp_EXT":"18.18","Temp_INC":"33.06","Temp_Tur_TF":"63.06"},{"readouttime":"2015-09-08 02:00:00.000","Ziua":"08.09.2015 02:00:00","Pres_ACM":"2.869","Pres_INC":"0","Temp_ACM_P4":"61.06","Temp_EXT":"18.43","Temp_INC":"33.12","Temp_Tur_TF":"63"},{"readouttime":"2015-09-08 01:00:00.000","Ziua":"08.09.2015 01:00:00","Pres_ACM":"2.864","Pres_INC":"0","Temp_ACM_P4":"60.68","Temp_EXT":"19.18","Temp_INC":"33.18","Temp_Tur_TF":"64"},{"readouttime":"2015-09-08 00:00:00.000","Ziua":"08.09.2015 00:00:00","Pres_ACM":"2.826","Pres_INC":"0","Temp_ACM_P4":"55.18","Temp_EXT":"19.43","Temp_INC":"33.31","Temp_Tur_TF":"64.68"}]
Hello,
You set readouttime to be a primary key which will be used as id of the rows, but the id can not contain spaces. Yours id contain spaces.
I recommend you to use another filed as primary key without spaces or you can build uniquie keys when you set the array.
Kind Regards,
Will
Guriddo Support Team
i try what you say but … NOT WORK …
1. I set Ziua to be primary key:
|
1 2 3 |
... $grid->setPrimaryKeyId('Ziua'); ... |
2. and eliminated space from Ziua value from json.
Now json is:
[{"Ziua":"10.09.2015_14:00:00","readouttime":"2015-09-10 14:00:00.000","Pres_ACM":"2.826","Pres_INC":"0","Temp_ACM_P4":"64","Temp_EXT":"18.56","Temp_INC":"30.62","Temp_Tur_TF":"66.93"},{"Ziua":"10.09.2015_13:00:00","readouttime":"2015-09-10 13:00:00.000","Pres_ACM":"2.818","Pres_INC":"0","Temp_ACM_P4":"64.43","Temp_EXT":"18.06","Temp_INC":"30.68","Temp_Tur_TF":"66.87"},{"Ziua":"10.09.2015_12:00:00","readouttime":"2015-09-10 12:00:00.000","Pres_ACM":"0","Pres_INC":"0","Temp_ACM_P4":"42.62","Temp_EXT":"17.81","Temp_INC":"30.5","Temp_Tur_TF":"54.06"},{"Ziua":"10.09.2015_11:00:00","readouttime":"2015-09-10 11:00:00.000","Pres_ACM":"0","Pres_INC":"0","Temp_ACM_P4":"47.06","Temp_EXT":"17.06","Temp_INC":"30.81","Temp_Tur_TF":"57.87"},{"Ziua":"10.09.2015_10:00:00","readouttime":"2015-09-10 10:00:00.000","Pres_ACM":"2.808","Pres_INC":"0","Temp_ACM_P4":"59.62","Temp_EXT":"16.87","Temp_INC":"31","Temp_Tur_TF":"63.87"},{"Ziua":"10.09.2015_09:00:00","readouttime":"2015-09-10 09:00:00.000","Pres_ACM":"2.801","Pres_INC":"0","Temp_ACM_P4":"55.37","Temp_EXT":"16.62","Temp_INC":"31","Temp_Tur_TF":"65.06"},{"Ziua":"10.09.2015_08:00:00","readouttime":"2015-09-10 08:00:00.000","Pres_ACM":"2.781","Pres_INC":"0","Temp_ACM_P4":"54.43","Temp_EXT":"17.56","Temp_INC":"31.18","Temp_Tur_TF":"65.93"},{"Ziua":"10.09.2015_07:00:00","readouttime":"2015-09-10 07:00:00.000","Pres_ACM":"2.774","Pres_INC":"0","Temp_ACM_P4":"55.37","Temp_EXT":"17.93","Temp_INC":"31.31","Temp_Tur_TF":"66.43"},{"Ziua":"10.09.2015_06:00:00","readouttime":"2015-09-10 06:00:00.000","Pres_ACM":"2.849","Pres_INC":"0","Temp_ACM_P4":"60.18","Temp_EXT":"18.56","Temp_INC":"31.37","Temp_Tur_TF":"64.31"},{"Ziua":"10.09.2015_05:00:00","readouttime":"2015-09-10 05:00:00.000","Pres_ACM":"2.868","Pres_INC":"0","Temp_ACM_P4":"64.68","Temp_EXT":"19.31","Temp_INC":"31.5","Temp_Tur_TF":"66.87"},{"Ziua":"10.09.2015_04:00:00","readouttime":"2015-09-10 04:00:00.000","Pres_ACM":"2.866","Pres_INC":"0","Temp_ACM_P4":"64.87","Temp_EXT":"20.12","Temp_INC":"31.5","Temp_Tur_TF":"66.87"},{"Ziua":"10.09.2015_03:00:00","readouttime":"2015-09-10 03:00:00.000","Pres_ACM":"2.862","Pres_INC":"0","Temp_ACM_P4":"65.06","Temp_EXT":"20.25","Temp_INC":"31.56","Temp_Tur_TF":"67.43"},{"Ziua":"10.09.2015_02:00:00","readouttime":"2015-09-10 02:00:00.000","Pres_ACM":"2.861","Pres_INC":"0","Temp_ACM_P4":"64.62","Temp_EXT":"20.25","Temp_INC":"31.56","Temp_Tur_TF":"66.93"},{"Ziua":"10.09.2015_01:00:00","readouttime":"2015-09-10 01:00:00.000","Pres_ACM":"2.857","Pres_INC":"0","Temp_ACM_P4":"65.06","Temp_EXT":"20.81","Temp_INC":"31.62","Temp_Tur_TF":"66.75"},{"Ziua":"10.09.2015_00:00:00","readouttime":"2015-09-10 00:00:00.000","Pres_ACM":"2.844","Pres_INC":"0","Temp_ACM_P4":"65.87","Temp_EXT":"21.31","Temp_INC":"31.62","Temp_Tur_TF":"67"}]
Hello,
Not sure what you do, but here is your example.
The only difference is that we do not perform where clause in detail grid, so onSelect row will return every time the same record set.
Kind Regards,
Will
Guriddo Support Team
yes…your example with array in code work me too …. but when i try to load array data from server only in detail.php – grid detail not showing rows ….
very strange!
Copyright 2014 TriRand LtdAll Rights ReservedRSS
Back to Top