Kendo UI Grid:自定义下拉提供程序在视图模式下不显示文本
Posted
技术标签:
【中文标题】Kendo UI Grid:自定义下拉提供程序在视图模式下不显示文本【英文标题】:KendoUI Grid: Custom dropdown provider shows no text in view mode 【发布时间】:2018-07-04 19:48:19 【问题描述】:我正在为我的 Web 应用程序使用 Kendo UI v2016.3.1118。
我在 Kendo UI 网格中使用编辑功能 (mode: “incell”)
。我创建了一个带有编辑文本框、日期和数值的网格,它工作正常。
我现在要做的是对具有下拉值的列进行编辑。
我已经集成了一个自定义下拉提供程序,如 Telerik 示例(https://demos.telerik.com/kendo-ui/grid/editing-custom,演示:https://dojo.telerik.com/UjAGU)中所述。
到目前为止效果很好。但是,在我更改 DropDown 中的值并且单元格失去焦点后,显示切换回视图模式。它只在单元格的左上角出现一个红色的小指示器,表示值已更改(单元格为“脏”)。除红色指示符外,单元格为空(单元格中未显示任何值)。
在我的情况下,我的数据源中的下拉列表外文类型的列只有数字(外键)值。
我的数据源如下所示:
Product ID: 1,
ProductName: "Chai",
Category: 1
Telerik 提供的示例中的数据源:
Product ID: 1,
ProductName: "Chai",
Category:
CategoryID: 1,
CategoryName: "Beverages",
Description: "Soft drinks, coffees, teas, berries, and ales"
我尝试将单元格值设置为下拉列表的 Select-Event 中的选定文本。尽管如此,在视图模式下仍然没有显示下拉菜单的文本。不幸的是,我找不到合适的活动。事件closeCell
从来没有在我的星座中抛出。
有什么想法吗? 问候 斯蒂芬
【问题讨论】:
为什么不使用模式:“inline”而不是“incell”? In cell 用于批量编辑。 【参考方案1】:我认为您的问题可能源于您在进行选择时 dropDownList 返回的内容(即整个对象,包含文本和值)与您的网格模型对象所需的内容(只是值)之间的差异。
假设您有一个功能可以创建与您引用的示例中的编辑器类似的功能,您能否尝试更改它以将valuePrimitive 属性设置为 true?
function categoryDropDownEditor(container, options)
$('<input required name="' + options.field + '"/>')
.appendTo(container)
.kendoDropDownList(
valuePrimitive: true,
autoBind: false,
dataTextField: "CategoryName",
dataValueField: "CategoryID",
dataSource:
type: "odata",
transport:
read: "https://demos.telerik.com/kendo-ui/service/Northwind.svc/Categories"
);
根据文档:
如果设置为 true,View-Model 字段将使用选定的项目值字段进行更新。如果设置为 false,View-Model 字段将使用所选项目进行更新。
希望这能解决您的问题。
【讨论】:
以上是关于Kendo UI Grid:自定义下拉提供程序在视图模式下不显示文本的主要内容,如果未能解决你的问题,请参考以下文章
从下拉列表中选择选项后,Kendo UI Grid 中的下拉菜单显示对象-对象
MVC Kendo UI Grid = 自定义按钮无法返回选定的行 ID
Kendo UI Web Grid 自适应渲染是不是独立于 Kendo 移动应用程序?
带有自定义JSON Web服务器的Kendo UI Grid - “未捕获的TypeError:this.replace不是函数”