如何从编辑器中排除不在数据源中的剑道网格字段?
Posted
技术标签:
【中文标题】如何从编辑器中排除不在数据源中的剑道网格字段?【英文标题】:How to exclude a kendo grid field that is not in the datasource, from the editor? 【发布时间】:2014-11-22 16:24:34 【问题描述】:首先,我知道如何通过在 kendo 数据源中将字段标记为“可编辑:假”来排除该字段。
我在 Kendo UI 网格中添加了一个带有按钮的列,以打开一个文件上传窗口。 此列不在数据源中! 但是,该列现在也在弹出编辑器中显示为带有“文件上传”作为标签的 tetxtbox(也就是列标题名称,如您所见在屏幕截图中)。
如何在弹出编辑器中排除/隐藏此列? 我正在使用剑道 UI 版本:“2014.2.716”
感谢您的帮助!
这是我将列添加到网格中的方法,请参见最后一行:
columns: [
field: "Id", hidden: true ,
field: "Name", title: ........ ,
field: "EnteredBy", title: "Entered by", hidden: true ,
field: "UpdatedOn", type: "date",.....,
field: "UpdatedBy", title: "......,
command: ["edit", "destroy"], title: "Action", width: "80px" ,
field: "Upload", title: "File Upload", width: "80px", template: '<button class="k-button" onClick="uploadFiles(#=Id#)">Upload<br/>Files</button>'
],
这是一个屏幕截图,显示了网格列中每个单元格中带有“上传文件”按钮的“文件上传”列。
这是来自弹出编辑器的屏幕截图,其中包含我想隐藏的字段。
【问题讨论】:
【参考方案1】:我认为您应该将该额外的列设为custom command,而不是为其指定“字段”。
类似:
columns: [
...
command: text: "Upload", click: uploadFiles,
title: "File Upload",
width: "80px"
]
然后uploadFiles
函数将传递一个点击事件,从该事件中它可以到达被点击的元素。您可以将data-id
属性添加到行,以从uploadFiles
函数中获取其Id
,就像他们在上面链接的演示中所做的那样。
【讨论】:
非常感谢!我实际上看到了自定义命令演示,但我错过的是我需要第二个命令行。这就是我现在所拥有的: field: "UpdatedBy", title: "Updated By", hidden: true , command: ["edit", "destroy"], title: "Action", width: "80px" , command: text: "上传文件", click: uploadFiles , title: "文件上传", width: "75px" ],以上是关于如何从编辑器中排除不在数据源中的剑道网格字段?的主要内容,如果未能解决你的问题,请参考以下文章
Kendo UI - 如何在编辑时使特定字段只读,同时在剑道网格中创建可编辑?