2011-12-07 4 views
0

jqgrid에 내 자신의 열 이름을 추가하고 싶습니다. 또한 SQL 쿼리에 따라 php-jqgrid가 자동으로 추가하는 열 이름을 막고 싶습니다.jqgrid에서 열 제거

저는 php-jqgrid를 사용하고 있습니다.

사실 jqgrid는 mysql 테이블의 열 이름과 db 테이블의 열 이름을 가져 오는 데 약 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; 

고마워요.

답변

0

있는 jqGrid를 사용하여 colModel를 빌드 selectCommand - 수동 렌더링에 필요하지 않은 여분의 열을 숨길 필요합니다 - 그래서 난 당신이 select 문에서 *를 제거하고 당신이 필요로하는 열을 선택하는 것이 좋습니다.