0

我是 jqgrid 的新手,我想增加 jqgrid 的宽度。我增加了列宽,但网格宽度没有增加。我正在使用 php jqgrid。

是否有任何参数可以传递此函数:=

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

或者我该怎么做?

非常感谢。

4

2 回答 2

1

您的问题主要是关于 jqGrid 的商业版本,我不知道。jqGrid 中也存在主要问题。jqGrid 具有宽度参数,可用于定义网格宽度。我想您应该使用(或已经使用)$grid->setGridOptions来定义选项。另一个可以额外使用的选项autowidth是覆盖width基于网格父级大小计算的值。其他重要选项可能对您很重要:shrinkToFit默认值是true. 这意味着该width列的属性将不会用作以像素为单位的确切列宽。而不是这些width属性将用于仅定义比例列宽之间。如果不应更改某些列的列宽,则应在列的相应定义中包含fixed: true属性。colModel如果您想为所有列提供精确的列宽(正如它在width的项目的属性中定义的那样colModel),您应该使用 jqGrid 设置shrinkToFit: false。尝试在$grid->setGridOptions通话中包含设置。

于 2011-12-06T13:41:26.290 回答
0

您可以使用以下 php 代码:

// Set grid with 1000px by php
$grid->setGridOptions(array("width"=>1000));

我有同样的问题,我的网格默认为 650px。所以,我检查了一些博客和维基,现在结束了:)

这是我完整的带有自动网格宽度的 php 代码:

<?php
require_once '../../../jq-config.php';
// include the jqGrid Class
require_once ABSPATH."php/jqGrid.php";
// include the driver class
require_once ABSPATH."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);
// SQL query
$sql = <<<SQL
SELECT *,
CASE total_correct_answer 
WHEN total_correct_answer=1 THEN 1
WHEN total_correct_answer=2 THEN 3 
ELSE 6 
END AS points
FROM 
(
SELECT COUNT(*) total_correct_answer, v.coupon_code_id, v.coupon_no, v.login_id, v.cc_match_id, v.name, v.contact_no, v.email, v.user_from
FROM (
SELECT p.login_id, ui.name, ui.contact_no,l.email,l.user_from,
p.quiz_id p_quiz_id,p.question_bank_id p_question_bank_id, p.answer_id p_answer_id, 
cc.quiz_id cc_quiz_id,cc.question_bank_id cc_question_bank_id, cc.answer_id cc_answer_id, 
cc.match_id cc_match_id, p.coupon_code_id, cd.coupon_no  
FROM prediction p
INNER JOIN correct_answer cc 
INNER JOIN `user_information` ui ON p.`login_id` = ui.`login_id` 
INNER JOIN coupon_code cd ON cd.coupon_code_id = p.coupon_code_id
INNER JOIN login l ON l.login_id = p.login_id
WHERE cc.quiz_id=p.quiz_id AND cc.question_bank_id=p.question_bank_id 
AND cc.answer_id=p.answer_id AND cc.match_id IN (SELECT match_id FROM `match` WHERE 
start_time BETWEEN DATE_ADD(NOW(), INTERVAL -7 DAY) AND NOW())
) v GROUP BY v.coupon_code_id ORDER BY v.login_id DESC 
) a 
SQL;
// Write the SQL Query
$grid->SelectCommand = $sql;
// Set output format to json
$grid->dataType = 'json';
// Let the grid create the model
$grid->setColModel();
// Set the url from where we obtain the data
$grid->setUrl('grid.php');
// Set alternate background using altRows property
$grid->setGridOptions(array( 
    "rowNum"=>10, 
    "sortable"=>true, 
    "rownumbers"=>true,
    "width"=>'auto',
    "altRows"=>true, 
    "multiselect"=>true, 
    "rowList"=>array(10,20,50), 
    )); 
// Change some property of the field(s) 
$grid->setColProperty("total_correct_answer", array("label"=>"Answer", "width"=>80));
$grid->setColProperty("coupon_code_id", array("label"=>"Coupon Code", "width"=>80));
$grid->setColProperty("coupon_no", array("label"=>"Coupon Number", "width"=>120));
$grid->setColProperty("login_id", array("label"=>"User ID", "width"=>80));
$grid->setColProperty("cc_match_id", array("label"=>"Match ID", "width"=>80));
$grid->setColProperty("name", array("label"=>"User Name", "width"=>120));
$grid->setColProperty("contact_no", array("label"=>"Contact No", "width"=>120));
$grid->setColProperty("email", array("label"=>"User Email", "width"=>120));
$grid->setColProperty("user_from", array("label"=>"User Mode", "width"=>120));
$grid->setColProperty("points", array("label"=>"User Points", "width"=>120));
// Enable navigator
$grid->navigator = true;
// Enable excel export
$grid->setNavOptions('navigator', array("excel"=>true,"add"=>false,"edit"=>false,"del"=>false,"view"=>false));
// Set different filename 
$grid->exportfile = 'Prediction_Report.xls'; 
// Enjoy
$grid->renderGrid('#grid','#pager',true, null, null, true,true);
$conn = null;
?>
于 2013-03-14T12:05:28.037 回答