我应该如何将userdata发送到jqGrid?

时间:2011-11-26 22:19:23

标签: jquery jqgrid user-data

好的,这就是事情......我这个jqGrid,我需要的是sumarize显示数据。这个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>";

这有效但显示网格时会出现问题。在网格的页脚中,我只看到一个空行。如果我把一些sumarized数据并尝试发送到页面,它不会显示任何内容。所以,我需要知道的是我应该如何传递页面的userdata来读取它。

我已经读过jqGrid whiki的信息,并说了类似的话 &#34; userData:此数组包含来自请求的自定义信息。可以在任何时候使用。&#34; 但我无法知道如何将此信息传递给#myGrid。 有人对此有任何想法吗?任何帮助都将非常感谢。

1 个答案:

答案 0 :(得分:1)

XML中的用户数据格式在第一眼看起来有点奇怪,但很明显记录here。您应该在表单

中添加一些XML元素
...
<page>1</page>
<userdata name="gridColumName1">value1 in the summary</userdata>
<userdata name="gridColumName2">value2 in the summary</userdata>
...

您应该使用与name中列定义的colModel属性中定义的相同的列名('gridColumName1','gridColumName2')。