如何绑定jqgrid行单元格中的下拉列表

我在我的ASP.net MVC应用程序中实现Jqgrid。 我需要在Jqgrid的网格列中绑定一个下拉列表。

我无法找到任何好的可靠代码供参考如何做到这一点..

任何人都可以建议如何做到这一点……一个完整的例子会很棒。

尝试使用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; } 

看到这里并查看所有

在你的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'); } } ] } }, 

此示例将在下拉列表更改事件中保存您的行。 请查看此链接以获取完整示例

希望这可以帮助。