わかりました、ここにあります...私はこのjqGridを持っています。必要なのは、表示されたデータを要約することです。この jqGrid には、次のような定義があります。
jQuery("#myGrid").jqGrid
{
url:'/loadGrid.php?q=2',
datatype: "xml",
colNames:[...],
colModel:[...],
// some other params.
footerrow : true,
**userDataOnFooter : true,** // it should show footer's custom information.
altRows : true
}).navGrid('#pagerGrid',{add:false,edit:false,del:false, search:false});
そして、loadGrid.php には以下に示す次の構造があります。
$page = $_GET['page']; // get the requested page
$limit = $_GET['rows']; // get how many rows we want to have into the grid
$sidx = $_GET['sidx']; // get index row - i.e. user click to sort
$sord = $_GET['sord']; // get the direction
// here goes connextion to database and data collection
...
//
if ( stristr($_SERVER["HTTP_ACCEPT"],"application/xhtml+xml") )
{
header("Content-type: application/xhtml+xml;charset=utf-8");
}
else
{
header("Content-type: text/xml;charset=utf-8");
}
$et = ">";
echo "<?xml version='1.0' encoding='utf-8'?$et\n";
echo "<rows>";
echo "<page>$current</page>";
echo "<total>$total</total>";
echo "<records>$records</records>";
// and data population
foreach( $data as $key => $value )
{
$ff = $value['field_1'];
echo "<row id='". $ff."'>";
// $ff = $value['field_1'];
echo "<cell> <![CDATA[" . $ff . "]]></cell>";
$ff = $value['field_2'];
echo "<cell> <![CDATA[" . $ff . "]]></cell>";
$ff = $value['field_3'];
echo "<cell> <![CDATA[" . $ff . "]]></cell>";
// ... and so on whith all column definitions.
echo "</row>";
}
echo "</rows>";
これは機能しますが、グリッドを表示すると問題が発生します。グリッドのフッターに空の行しか表示されません。要約されたデータをいくつか入れてページに送信しようとすると、何も表示されません。したがって、私が知る必要があるのは、ページを読み取るためにユーザーデータを渡す方法です。
私はすでに jqGrid whiki から情報を読んでいて、 「userData: この配列にはリクエストからのカスタム情報が含まれています。いつでも使用できます。」しかし、この情報を #myGrid に渡す方法がわかりません。誰かがそれについて何か考えを持っていますか? どんな助けでも大歓迎です。