1、创建Editor
?
{
field: 'categoryname' ,width:100,title:'所属类别' ,editor:{type: 'combobox',options:{
valueField: 'id',
textField: 'text',
panelHeight: 'auto'
}}
}
?设置panelHeight: 'auto' 使其不会出现一大片空白!
?
?
2、在双击编辑该行是调用ajax 请求后台返回参数
?
onDblClickRow : function(rowIndex,rowData){
if (editRow != undefined) {
$("#admin_gamelist_datagrid").datagrid('endEdit', editRow);
}
if (editRow == undefined) {
$("#admin_gamelist_datagrid").datagrid('beginEdit', rowIndex);
editRow = rowIndex;
$("#admin_gamelist_datagrid").datagrid('unselectAll');
}
synchCategory(rowIndex,rowData);
},
?synchCategory(rowIndex,rowData); ?该方法为请求方法。
?
?
3、将返回的值加载进combobox
?
function synchCategory(rowIndex,rowData){
var jqData;
var url = '${pageContext.request.contextPath}/skipController/secCate.do?pid=' +rowData.pcategoryid;
var ed = $('#admin_gamelist_datagrid' ).datagrid( 'getEditor',{index:rowIndex,field: 'categoryname' });
$.ajax({
url:url,
dataType : 'json',
type : 'POST',
success: function (data){
jqData = data;
$(ed.target).combobox( 'loadData' , jqData);
}
});
}
?
?
4、后台处理逻辑
?
@RequestMapping ("/secCate" )
@ResponseBody
public List<Pcategory> cateSecList(String pid){
List<Pcategory> CateSecList = categoryService .getCateSecList(pid);
return CateSecList;
}
?
?
5、效果如图所示:

效果一
?
?效果二
?
?
?