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を使用します)
どうしたの?
前もって感謝します!ギレルモ