удаление столбцов из jqgrid - PullRequest
       27

удаление столбцов из jqgrid

0 голосов
/ 07 декабря 2011

Я хотел бы добавить свои собственные имена столбцов в jqgrid, а также хочу запретить имена столбцов, которые автоматически добавляются php-jqgrid в соответствии с SQL-запросом.

Я использую php-jqgrid.

На самом деле jqgrid получает имя столбца из имени столбца таблицы mysql, а моя таблица БД имеет около 55 столбцов, но все столбцы необходимы для дальнейших вычислений.поэтому я хочу просто напечатать только 12 выбранных столбцов, а не все остальные столбцы остальных.

Я отключаю другой столбец следующим образом: -

$grid->setColProperty("lat", array("hidden"=>true));
$grid->setColProperty("lng", array("hidden"=>true));
$grid->setColProperty("clinic_id", array("hidden"=>true));
$grid->setColProperty("id", array("hidden"=>true));
.....
.....
.....

Но сложно установить каждый столбец скрытым /отключить.Требуется код для каждого столбца, установленного на скрытый / отключить.

Есть ли способ сортировки, чтобы скрыть / отключить остальные столбцы формы сетки.

Я использую этот код, чтобы сделать это, но он также получаетимя столбца, который я не объявил в методе $ grid-> setColModel (null, null, $ mylabels);

Может кто-нибудь сказать, какой короткий код я должен написать для удаления дополнительного добавленного столбца вjqgrid.

Большое спасибо.

require_once '/var/www/html/zbajtmp/public/jqgrid/jq-config.php';
// include the jqGrid Class
require_once "/var/www/html/zbajtmp/public/jqgrid/php/jqGrid.php";
// include the driver class
require_once "/var/www/html/zbajtmp/public/jqgrid/php/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 OrderID, OrderDate, CustomerID, Freight, ShipName  FROM orders';
$grid->SelectCommand = 'SELECT *  FROM clinic';
// set the ouput format to json
$grid->dataType = 'json';
// Let the grid create the model
//$grid->setColModel();
$mylabels = array(
"clinic_name"=>"Clinic ame",
"clinic_address"=>"Address",
"HomePhone"=>"Home Phone",
"WorkPhone"=>"Work Phone",
"Email_Id"=>"Email",
);
// Let the grid create the model with the desired labels
$grid->setColModel(null, null, $mylabels);

$grid->setColProperty("lat", array("hidden"=>true));
$grid->setColProperty("lng", array("hidden"=>true));
$grid->setColProperty("clinic_id", array("hidden"=>true));
$grid->setColProperty("id", array("hidden"=>true));
.....
.....
.....
// Set the url from where we obtain the data
//$grid->setUrl('/var/www/html/zbajtmp/application/views/scripts/clinic/grid.php');
$grid->setUrl('http://sunlinux/zbajtmp/application/views/scripts/clinic/grid.php');
// Set grid caption using the option caption
$grid->setGridOptions(array(
    "caption"=>"This is my custom Caption...",
    "rowNum"=>50,
    "sortname"=>"id",
    "hoverrows"=>true,
    "rowList"=>array(20,50,100,1000),
    "width"=>"100%",
    "height"=>350,
"footerrow"=>true,
"rownumbers"=>true,
"multiselect"=>true,
"altRows"=>true,
"altclass"=>'clsalt',
"loadtext"=>"<div class='loadingbox'>Please wait. Loading...</div>",

    ));


$grid->renderGrid('#grid','#pager',true, null, null, true,true);


$conn = null;  

Большое спасибо.

1 Ответ

0 голосов
/ 07 декабря 2011

jqGrid строит colModel, используя selectCommand - поэтому вам нужно будет скрыть дополнительные столбцы, которые не требуются для рендеринга вручную - я предлагаю вам удалить * из оператора select и просто выбратьнеобходимые вам столбцы.

...