我正在我的ASP.net MVC应用程序中实现Jqgrid。我需要在Jqgrid的网格列中绑定一个下拉列表。
我无法找到任何好的可靠代码供参考如何做到这一点..
任何人都可以建议如何做到这一点......一个完整的例子会很棒。
答案 0 :(得分:9)
尝试使用 editoptions
jQuery('#grid').jqGrid({
autowidth: true,
autoheight: true,
url : '',
mtype : 'POST',
colNames : [ 'ID','State', 'Product'],
colModel : [ {name : 'id',index : 'id',hidden:true,align:'center'},
{name : 'name',index :'name',width:200,
sortable:true,
align:'center',
editable:true,
cellEdit:true,
edittype: 'select',
formatter: 'select',
editoptions:{value: getAllSelectOptions()}
},
{name : 'product',index : 'product'},
],
rowNum : 10,
sortname : 'name',
viewrecords : true,
gridview:true,
pager : '#pager',
sortorder : 'desc',
caption : 'Setup',
datatype : 'json'
});
function getAllSelectOptions(){
var states = { '1': 'Alabama', '2': 'California', '3': 'Florida',
'4': 'Hawaii', '5': 'London', '6': 'Oxford' };
return states;
}
答案 1 :(得分:1)
在colModel
{ name: 'Decision', width: 200, editable: true, formatter: 'select', edittype: 'select', editoptions: {
value: {
'1': 'Option 1',
'2': 'Option 2',
'3': 'Option 3'
},
dataEvents: [
{
type: 'change',
fn: function (e) {
var row = $(e.target).closest('tr.jqgrow');
var rowId = row.attr('id');
jQuery("#jQGrid").saveRow(rowId, false, 'clientArray');
}
}
]
}
},
此示例将在下拉列表更改事件中保存您的行。 查看this link以获取完整示例
希望这有帮助。