0
A
回答
0
有可能达到这样的期望行为:
使用
edit
事件的电网,检查的DropDownListvalue()
,如果要防止编辑,执行电网的closeCell()
方法退出编辑模式。如果用户尝试向网格添加新项目(e.model.isNew()
),则还需要remove()
此新项目以及各自的dataSource
方法。使用DropDownList的
change
事件隐藏与自定义CSS样式的网格中的CRUD相关按钮。
另一个可能的选择是重新创建,并通过setOptions
每次重新绑定使用正确的编辑设置网格的下拉列表值发生变化。
以下示例使用上述第一种方法。您可以修改它,这样不仅删除按钮被切换,而且添加新记录。
<!DOCTYPE html>
<html>
<head>
<base href="http://demos.telerik.com/kendo-ui/grid/editing/">
<style>html { font-size: 14px; font-family: Arial, Helvetica, sans-serif; }</style>
<title>Kendo UI</title>
<link rel="stylesheet" href="//kendo.cdn.telerik.com/2016.3.1118/styles/kendo.common.min.css" />
<link rel="stylesheet" href="//kendo.cdn.telerik.com/2016.3.1118/styles/kendo.default.min.css" />
<script src="//kendo.cdn.telerik.com/2016.3.1118/js/jquery.min.js"></script>
<script src="//kendo.cdn.telerik.com/2016.3.1118/js/kendo.all.min.js"></script>
<style>
.hideDeleteButtons .k-grid-delete {
visibility: hidden;
}
</style>
</head>
<body>
<div id="example">
<p><label for="dropdownlist">Grid editing is:</label>
<select id="dropdownlist"><option value="1">enabled</option><option value="0">disabled</option></select></p>
<div id="grid"></div>
<script>
$(document).ready(function() {
$("#dropdownlist").kendoDropDownList({
\t change: function(e) {
\t $("#grid").toggleClass("hideDeleteButtons", e.sender.value() !== "1");
}
});
var crudServiceBaseUrl = "//demos.telerik.com/kendo-ui/service",
dataSource = new kendo.data.DataSource({
transport: {
read: {
url: crudServiceBaseUrl + "/Products",
dataType: "jsonp"
},
update: {
url: crudServiceBaseUrl + "/Products/Update",
dataType: "jsonp"
},
destroy: {
url: crudServiceBaseUrl + "/Products/Destroy",
dataType: "jsonp"
},
create: {
url: crudServiceBaseUrl + "/Products/Create",
dataType: "jsonp"
},
parameterMap: function(options, operation) {
if (operation !== "read" && options.models) {
return {models: kendo.stringify(options.models)};
}
}
},
batch: true,
pageSize: 10,
schema: {
model: {
id: "ProductID",
fields: {
ProductID: { editable: false, nullable: true },
ProductName: { validation: { required: true } },
UnitPrice: { type: "number", validation: { required: true, min: 1} },
Discontinued: { type: "boolean" },
UnitsInStock: { type: "number", validation: { min: 0, required: true } }
}
}
}
});
$("#grid").kendoGrid({
dataSource: dataSource,
navigatable: true,
pageable: true,
height: 300,
toolbar: ["create", "save", "cancel"],
columns: [
{ field: "ProductName", title: "Product Name" },
{ command: "destroy", title: " ", width: 200 }],
editable: true,
edit: function(e) {
var dropdownlist = $("#dropdownlist").data("kendoDropDownList");
if (dropdownlist.value() !== "1") {
e.sender.closeCell();
if (e.model.isNew()) {
e.sender.dataSource.remove(e.model);
}
}
}
});
});
</script>
</div>
</body>
</html>
相关问题
- 1. Kendo UI网格禁用或列过滤条件
- 2. 启用禁用kendo ui网格弹出窗体中的控件
- 3. 基于列值在kendo ui网格中的列上启用或禁用EditorTemplateName
- 4. 隐藏并显示kendo ui网格列
- 5. 使用AngularJS ng-disabled启用/禁用kendo ui下拉列表
- 6. 具有默认列的Kendo网格
- 7. Kendo网格列显示ActionLink
- 8. in kendo网格行和列
- 9. 启用/禁用条件维克斯
- 10. xamdatagrid有条件地禁用列
- 11. 引导日期选择器禁用并启用条件
- 12. 启用/禁用网格布局中的所有按钮
- 13. Kendo UI网格禁用拖动行选择
- 14. kendo-ui网格中的条件行格式化
- 15. 有条件地禁用Html.DropDownList
- 16. 我如何有条件地启用或禁用[RequireTttps]
- 17. 有条件地启用/禁用按钮控制?
- 18. 有条件启用/禁用asp.net的MVC文本框
- 19. 坚持有条件地启用或禁用与JQuery输入
- 20. 当启用垂直滚动时,Kendo网格标题未对齐
- 21. Kendo Grid单按网格列菜单显示/隐藏网格列
- 22. 启用/禁用表格/占位符中的所有ASP控件
- 23. 禁用列Wpf数据网格
- 24. 在Silverlight中启用/禁用使用ivalue转换器的数据网格列
- 25. 如何使用Vaadin表格组件启用/禁用单元格?
- 26. 空kendo-ui网格
- 27. Kendo网格防止列变小
- 28. Kendo网格的复选框列
- 29. Kendo网格行颜色基于列值
- 30. Typescript Kendo UI网格列类型错误
我认为他还可以用每列和编辑功能,他可以有条件地closeCell()或返回相应的容器内的编辑选项(功能),让他有更多的控制权该列禁用编辑或启用编辑 –