我正在使用包含下拉列的kendo网格。当我编辑记录时,选择下拉列表中的第一个记录,除了在下面的代码中将dataItem.SurahId
中的哪个列值赋予它。我使用html视图中定义的内联下拉列表,除了在javascript控制器中。
{ field: "SurahId", title:"Surah", template: "#= getSurahName(SurahId)#", editor : "<input kendo-drop-down-list k-data-text-field=\"'ArabicName'\" k-data-value-field=\"'Id'\" k-data-source=\"surahDS\" ng-model=\"dataItem.SurahId\" />" },
网格的整个代码如下所示。
<div class="k-content" style="width: 100%">
<div kendo-grid="grid"
k-sortable="true"
k-pageable="true"
k-filterable="true"
k-editable="'inline'"
k-selectable="true"
k-toolbar='[ { template: toolbarTemplate } ]'
k-columns='[
{ field: "No", title:"No." },
{ field: "SurahId", title:"Surah", template: "#= getSurahName(SurahId)#", editor : "<input kendo-drop-down-list k-data-text-field=\"'ArabicName'\" k-data-value-field=\"'Id'\" k-data-source=\"surahDS\" ng-model=\"dataItem.SurahId\" />" },
{ field: "Address", title: "Address" },
{ field: "LetterCount", title: "Letters"},
{ field: "HasSajadah", title: "Has Sajadah", template: "#= HasSajadah ? \"Yes\" : \"No\" #" }]'
k-data-source="dataSource"
k-on-data-bound="onDataBound(kendoEvent)"
k-on-change="onChange(kendoEvent)">
</div>
<style scoped>
.toolbar { padding: 15px; float: right; }
</style>
</div>
答案 0 :(得分:0)
我确诊了实际问题。将name属性赋予编辑器输入,因为Grid将知道要选择/更新模型的哪个属性。 name应与字段名称相同,如下所示。如果没有在输入控件中定义名称,也不会更新记录。
editor : "<input kendo-drop-down-list name=\"SurahId\"