Kendo UI Grid 条件编辑
Posted
技术标签:
【中文标题】Kendo UI Grid 条件编辑【英文标题】:Kendo UI Grid Conditional editing 【发布时间】:2014-05-28 21:00:51 【问题描述】:我想为某些 CatalogProductId 禁用 DiscountPercentageMRC/NRC/Usage 列。请在下面找到网格的 javascript。任何帮助将不胜感激。
<h2>Kendo Grid bound to ASP.NET MVC action methods</h2>
@* The DIV where the Kendo grid will be initialized *@
<div id="grid"></div>
<script>
$(document).ready(function ()
$("#grid").kendoGrid(
columns: [
field: "CompanyId",
field: "CompanyName" ,
field: "DiscountPercentageMRC" ,
field: "CatalogProductId",
field: "DiscountPercentageMRC" ,
field: "DiscountPercentageNRC" ,
field: "DiscountPercentageNRC" ,
field: "DiscountPercentageUsage"
],
height: 400,
editable: true, // enable editing
pageable: true,
sortable: true,
filterable: true,
toolbar: ["create", "save", "cancel","edit"], // specify toolbar commands
dataSource:
serverPaging: true,
serverFiltering: true,
serverSorting: true,
pageSize: 10,
batch: true,
editable: "inline",
transport:
read:
url: "@Url.Action("ResellerDiscountsGet", "AccountDetail", new BusOrdId = @ViewBag.Message )",
type: "POST",
,
selectable: true
);
);
</script>
【问题讨论】:
Make cell readonly in Kendo Grid if condition is met 的可能重复项 【参考方案1】:您将使用Edit
事件来启用/禁用单元格。我在这里创建了一个工作示例:http://jsfiddle.net/Eh8GL/151/
function OnEdit(e)
// Make sure it's not a new entry
if (!e.model.isNew())
var catalogproductid = e.container.find("input[name=CatalogProductId]").data("kendoNumericTextBox").value();
// Disable DiscountPercentageMRC if catalog productid = 100
if (catalogproductid == 100)
var disableField = e.container.find("input[name=DiscountPercentageMRC]").data("kendoNumericTextBox");
disableField.enable(false);
【讨论】:
如果CatalogProductId
不是数字类型怎么办?
data("kendoNumericTextBox");
这仅适用于数字类型对吗?字符串类型呢?
@Satyadev 如果您想检查公司名称是否为某个值,然后禁用某个字段,您可以这样做。 jsfiddle.net/veys2g9d/1
我想你没有明白我的意思。我想在单击编辑按钮并启用所有其他字段时禁用Company Name
以上是关于Kendo UI Grid 条件编辑的主要内容,如果未能解决你的问题,请参考以下文章