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. Excel VBA - 宏禁用和啓用條件單元格格式
- 6. 啓用已禁用的網格
- 7. 如何啓用MVVM禁用的Kendo DropDownList?
- 8. 使用AngularJS ng-disabled啓用/禁用kendo ui下拉列表
- 9. 禁用某些網格列
- 10. 禁用Kendo Grid的一列
- 11. 禁用/啓用劍道網格複選框基於列的值
- 12. 具有默認列的Kendo網格
- 13. 啓用/禁用條件維克斯
- 14. 禁用和啓用基於條件
- 15. xamdatagrid有條件地禁用列
- 16. jQuery - 根據條件禁用並啓用錨標記
- 17. 引導日期選擇器禁用並啓用條件
- 18. Kendo網格editRow方法:禁止彈出
- 19. in kendo網格行和列
- 20. Kendo網格列顯示ActionLink
- 21. 啓用/禁用網格佈局中的所有按鈕
- 22. 柯網格+表示列有條件
- 23. C# - 網卡禁用/啓用
- 24. 有條件禁用的CheckBox
- 25. 有條件格式化的Kendo Grid下拉列
- 26. Angular有條件啓用/禁用HTML選擇
- 27. 有條件啓用/禁用asp.net的MVC文本框
- 28. 堅持有條件地啓用或禁用與JQuery輸入
- 29. 有條件地啓用/禁用按鈕控制?
- 30. 我如何有條件地啓用或禁用[RequireTttps]
我認爲他還可以用每列和編輯功能,他可以有條件地closeCell()或返回相應的容器內的編輯選項(功能),讓他有更多的控制權該列禁用編輯或啓用編輯 –