将JSON字符串中的附加参数发送到jqGrid
问题描述:
我正在使用PHP为JQGrid生成JSON。我已经添加另一个属性的PHP对象,我JSON编码:将JSON字符串中的附加参数发送到jqGrid
$sql_array = preg_split('/LIMIT/', $sql);
$pass_sql = $sql_array[0];
$response->sql = $pass_sql;
<~SNIP~>
echo json_encode($response);
这解析客户端上的精细和用JSON填充jqGrid的是这样的:
{"page":"1","total":28,"records":"685","sql":"SELECT * FROM fires ORDER BY id desc ","rows":[{"id":"3065","cell":["Southern","Lost Fire","National Forests in Mississippi","492","100","0000-00-00",null,null,null,null,null,null,null,null,null,null,null,"3065","2011-03-03 00:00:00"]},{"id":"3064","cell":["Southern","PineTree","East Central Area Dispatch Office","420","80","2011-03-02",null,null,null,null,null,null,null,null,null,null,null,"3064","2011-03-03 00:00:00"]},{"id":"3063","cell":["Southern","LILAC ROAD","Georgia Forestry Commission","100","100","2011-03-01",null,null,null,null,null,null,null,null,null //etc
我需要将该SQL参数文本从JSON回复中拉出并将其隐藏在DIV中以备后用。这可能吗?
答
从服务器到jqGrid的发送附加信息的最简单方法是userdata
(见this answer。如果你的JSON数据就会像
{
"page":"1",
"total":28,
"records":"685",
"userdata":"SELECT * FROM fires ORDER BY id desc ",
"rows":[
...
]
}
或
{
"page":"1",
"total":28,
"records":"685",
"userdata": {
sql: "SELECT * FROM fires ORDER BY id desc "
},
"rows":[
...
]
}
附加信息会保存在jqGrid里面,你可以使用$("#grid_id").jqGrid('getGridParam','userData')
在的情况下要小心。在JSON数据中,它必须是userdata
和getGridParam
:'userData'。
+0
很棒!我会给这个镜头,并且一旦我开始工作,将其标记为“已解决”。 – 2011-03-04 14:19:29
这里可能有一些设计问题......但除此之外,您可以在填充网格的处理程序中执行此操作。 – Orbit 2011-03-03 22:34:35