【问题标题】:Subgrid data not loaded未加载子网格数据
【发布时间】:2013-03-15 14:33:09
【问题描述】:

我发现了一个类似的问题,但它对我没有帮助(显然其他提问者也没有......)。所以这里是:

我正在尝试用产品制作一个网格。对于每个产品,我都需要一个显示订单的子网格。

我无法在子网格中加载数据。 'load_sub_data_json.php' 永远不会加载...

这是 JS 我的 HTML 文件:

<pre>
jQuery(document).ready(function() { 
  $("#list").jqGrid({
    height: 'auto',
    blockui: true,
    altRows: true,
    loadonce: true,
    url:'load_main_data_json.php',
    datatype: 'json',
    mtype: 'GET',
    colNames:['ProductCode','ProductName', 'ProductVendor'],
    colModel :[ 
      {name:'productcode', index:'productcode', width:100, align:'right'}, 
      {name:'productname', index:'productname', width:280, align:'right'}, 
      {name:'productvendor', index:'productvendor', width:200, align:'right'}
    ],
    rowNum:35,
    rowList:[25,50,75,100,125,150,175,200],
    sortname: 'productcode',
    sortorder: 'desc',
    viewrecords: true,
    caption: 'My first grid',
    subGrid: true,
    subGridUrl: 'load_sub_data_json.php',
    subGridModel: [
      { name  : ['Order number','Order date','Shipped date','Comments'],
        index : ['orderNumber', 'orderDate', 'shippedDate', 'comments'], 
        width : [55,100,100,200],
        align : ['right','right','right','right'],
        params: ['productcode']
      } 
    ]
  });
});
</pre>

这是我将数据加载到子网格的 php 文件:

<pre> 

include("dbconfig.php");

$id = $_REQUEST['id'];
$productCode = $_REQUEST['productcode']; // param passed by query


// connect to the database
$db = mysql_connect($dbhost, $dbuser, $dbpassword) or die("Connection Error: " .     mysql_error());

// select database
mysql_select_db($database) or die("Error conecting to db.");

// select columns
$SQL = "select o.orderNumber, o.orderDate, o.shippedDate, o.comments from orderdetails d inner join orders o on o.orderNumber = d.orderNumber where d.productcode='" . $id. "';";

$result = mysql_query( $SQL ) or die("Couldnt execute query.".mysql_error());

$response = new stdClass;
$i=0;
while($row = mysql_fetch_array($result,MYSQL_ASSOC)) {
    $response->rows[$i]['id']=$row['orderNumber'];
    $response->rows[$i]    ['cell']=array($row['orderNumber'],$row['orderDate'],$row['shippedDate'],$row['comments']);
    $i++;
}

echo json_encode($response);

</pre>

【问题讨论】:

    标签: jquery jqgrid


    【解决方案1】:

    我认为您缺少 subGridModel 中的映射

    试试这个,添加

    mapping : ['orderNumber', 'orderDate', 'shippedDate', 'comments'],
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-09-18
      • 1970-01-01
      • 1970-01-01
      • 2018-09-09
      • 1970-01-01
      • 2013-05-02
      • 1970-01-01
      • 2012-04-16
      相关资源
      最近更新 更多