jqgrid - 如何创建一对多关系的列?

时间:2013-01-17 03:42:14

标签: jqgrid jqgrid-asp.net jqgrid-php jqgrid-formatter

我正在尝试在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作为帖子上的名称)

怎么了?

提前致谢!吉列尔莫

0 个答案:

没有答案