【发布时间】:2015-08-25 06:59:24
【问题描述】:
这是我的 jqGrid 代码。
$("#grid").jqGrid({
url:$url,
editurl:"serivce.php",
datatype: "json" ,
mtype:"post",
colNames:["test"],
colModel:[
{name:"test",index:"test", width:150,align:"center", editable:true,
edittype:"select", editoptions:{size:1, dataUrl:"../someurl.php?param1=parm }
},
],
rowNum:10,
rowList:[10,20,30],
add: {
top:30,
left:20
},
edit:{
top:30,
left:20
},
jqModal: true,
pager: "#page",
sortname: "ID",
viewrecords: true,
sortorder: "ASC",
shrinkToFit: true,
height: "auto"
}); ';
$("#grid").setGridParam({ondblClickRow: function(rowid) {
var rowData = jQuery("#grid").getRowData(rowid);
jQuery(this).jqGrid("editGridRow", rowid,
{ closeAfterEdit:true,
beforeShowForm: function(form){
// force the data value retrieve here
},
afterSubmit:function() { $("#grid").jqGrid("setGridParam", {datatype: "json"});
return true;
}
});
} // end of ondblClickRow});
}); ' ;
dataUrl的服务器php代码:
$values = getWorkingValues($param);
echo '<select>';
foreach($values as $value){
echo "<option value='" . $value . "'>" .$value . "</option>";
}
echo "</select>";
如何强制检索“test”列中的值?
例如,每次打开网格进行编辑时?
我使用的版本是 jqGrid 3.6。
谢谢
【问题讨论】:
-
您目前的问题是什么?
dataUrl会不会被调用?您是否需要发送每行不同的param1?您是否有缓存问题(例如dataUrl将被加载一次并且不会每次都被检索)? jqGrid 的哪个分支(free jqGrid、Guriddo jqGrid JS 或版本 -
谢谢奥列格。我的问题是这些值被缓存了。我想在 editGridRow 时强制通过 dataUrl 更新值。我正在使用表单编辑。
-
您使用哪个版本的 jqGrid? 您从哪里开始
editGridRow的代码?您使用editGridRow的哪些选项?您用于测试的网络浏览器是什么?您是否在dataUrl的响应的HTTP 标头中设置和缓存选项(Cache-Control)(请参阅您的服务器代码)。您应该点击问题下方的“编辑”链接,然后修改/附加附加信息的文本。 -
我使用的是 jqGrid 3.6。有关editGridRow,请参见上文。我用的是chrome,我没有设置dataUrl响应的HTTP头缓存选项,请检查服务器代码。
-
您应该将 jqGrid 更新到 7 年前的更新版本。这是IE4和启动IE5的时间。你还在使用这些旧版本的网络浏览器吗?现在用蒸汽车不好。我建议您更新到free jqGrid 4.9.2。您可以通过将 URL 替换(至少是临时的)jqGrid 文件来尝试它。见the wiki article。
标签: jqgrid jqgrid-php