【问题标题】:Kendo UI bind drop down value from PopupEditor来自弹出编辑器的 Kendo UI 绑定下拉值
【发布时间】:2019-02-22 08:55:58
【问题描述】:
我有一个 Kendo Grid,它可以选择使用弹出编辑器添加新记录。
弹出编辑器中的一个字段是 DropDownList。当我打开弹出编辑器时,我预先选择了下拉列表中的第一条记录。由于我预先选择了它,我希望它在网格内自动创建(绑定)(当按下“更新”时)无需再次手动选择它。
I have the example script here
【问题讨论】:
标签:
javascript
jquery
kendo-ui
kendo-grid
【解决方案1】:
工作脚本: https://dojo.telerik.com/OFinidew/28
这里有一些有用的知识:
1。为您的数据源定义架构
架构是一种定义数据结构的方法。定义模式后,您的数据将被“绑定”。您将尽可能多地绑定您的数据,因为作为最后的手段,您最终将不得不使用模板。通常,Kendo UI 会尝试解决问题并自动绑定,但在特殊情况下,您必须为其提供模式。这是其中一种情况。
从代码示例看来,解决方法的方法似乎是尝试更改 kendoGrid 的“编辑”事件以立即选择“处理”状态 - 相反,您可以定义“处理”状态(值“ 2") 作为模型中“状态”字段的默认值。但是,您需要确保您的自定义编辑器模板可以绑定到,这导致我们......
2。使用 HTML 属性:data-bind="value:(nameOfYourField)"
当您为 kendo 弹出窗口制作自己的编辑器模板时,它无法知道要绑定到 HTML 的哪一部分。请参阅提供的链接中的 statusDropdownEditorTemplate 作为如何完成此操作的示例。
3。 valuePrimitive 是什么意思
通常,kendoDropDownList 将返回一个包含所选选项的文本和值的对象。但这不是我们在这种情况下想要的,因为状态被定义为“0”、“1”、“2”——所以我们只想要这个值。当您将 valuePrimitive 设置为 true 时,您将指示 kendoDropDownList 仅返回值本身,而不是包含所有内容的对象。