私は kendo ui listView を持っており、編集モードではドロップダウンリストを使用して外部キーを処理しています。これらは ID ではなく外部キーの値を表示するのにうまく機能しますが、最初に読み込まれる通常の表示モードでは代わりに外部キー ID が表示されます。値。
外部キーの値を表示したいときのベストプラクティスは何だろうと思っています。データソースの読み取り呼び出しで「INNER JOIN」ステートメントを使用して SQL レベルで問題を解決しようとしましたが、外部キー値フィールドが元のテーブルに存在しないため、更新/作成時にフィールドの競合が発生します。
貸し手のドロップダウン用の私のコードはこちら
var dsLenders = new kendo.data.DataSource({
transport: {
read: {
url: "../data/lenders/",
dataType: "jsonp"
},
parameterMap: function(options, operation) {
if (operation === "read") {
return options;
}
}
}
});
リストビューのコードはこちら
var claimListView = $("#formClaim").kendoListView({
dataSource: remoteDataSource,
template: kendo.template($("#viewTemplate").html()),
editTemplate: kendo.template($("#formTemplate").html()),
dataBound: function(e) {
this.edit(this.element.children().first());
}
}).data("kendoListView");
正常に動作する貸主のリストをロードする editTemplate の私のドロップダウンリストをここに示します
<input name="idldr_clm" data-bind="value:idldr_clm" data-value-field="id_ldr" data-text-field="name_ldr" data-option-label="Select" data-source="dsLenders" data-role="dropdownlist" />
ここで、貸し手を表示するために通常のビュー テンプレート ビューで使用しているものを示します。ただし、貸主名ではなく ID が表示されます。私はそれが貸し手の名前を引き出すことを望みます。
<input value="#= idldr_clm #" class="k-input k-textbox" readonly />