我正在尝试在jqgrid(最新版本)中创建一个列,该列是一对多的关系。 例如,在视图模式下它应该显示State.Name,然后在编辑模式下应该显示State.Name的下拉列表并将State.Id的值作为id。
来自后端的信息是:
{
"page":1,
"records":4,
"rows":[{"Id":5,"Description":"City 1","State":{"Id":1,"Name":"California"}}],
"total":1.0
}
我尝试了这个没有成功:
{
name: 'State.Name', index: 'State.Id', editable: true, sortable: true, hidden: false, align: 'left', formatter: 'select',
edittype: "select", editrules: { required: true },
editoptions: {
dataUrl: $("#ServiceUrlState").val(),
buildSelect: function (data) {
var response = jQuery.parseJSON(data);
var html = '<select>';
if (response && response.length) {
for (var i = 0, l = response.length; i < l ; i++) {
var item = response[i];
html += '<option value="' + item.Id + '">' + item.Nombre + '</option>';
}
}
return html + "</select>";
}
}
}
ServiceUrlState的值在Index.cshtml中设置(以html页面结尾)并分配有:
@Html.Hidden("ServiceUrlState", Url.RouteUrl("ApiControllerOnly", new { httproute = "", controller = "States" }))
我正在使用ASPNET MVC 4,但这个问题与此无关。
我需要类似......在视图模式下...使用“State.Name”字段显示,但在发布时发送Id(并使用StateId作为帖子上的名称)
怎么了?
提前致谢!吉列尔莫