2

我正在尝试在 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 作为发布时的名称)

怎么了?

提前致谢!吉列尔莫

4

0 回答 0