2

jqgrid (最新バージョン) で列を作成しようとしていますが、その列は 1 対多の関係です。たとえば、表示モードでは 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