我正在尝试在 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 作为发布时的名称)
怎么了?
提前致谢!吉列尔莫