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()或返回相應的容器內的編輯選項(功能),讓他有更多的控制權該列禁用編輯或啓用編輯 –