gpt4 book ai didi

c# - Kendo MVC Grid - 如何根据模型值使单元格可编辑

转载 作者:太空狗 更新时间:2023-10-30 00:32:33 25 4
gpt4 key购买 nike

我们的 Kendo 网格数据源如下所示:

.DataSource(dataSource => dataSource
.Ajax()
.PageSize(10)
.Events(events => events.Error("error_handler"))
.Model(model =>
{
model.Id(m => m.MilestoneId);
model.Field(m => m.ProjectName).Editable(false);
model.Field(m => m.Name).Editable(false);
model.Field(m => m.Status).Editable(??????);
})

对于最后一个字段 (Status),我们需要为 Editable 提供一个 bool 值。但是,我希望这个值来 self 们模型中某个属性的值。该模型有一个名为 IsAvailable 的属性,我希望 bool 成为该值。

基本上,如果模型中的 IsAvailable 为真,我们只希望 Status 列可编辑。

该属性模型上的 C# 代码是:

public bool IsAvailable{ get; set; }

有人知道访问该值的正确语法吗?

我试过:

model.Field(m => m.Status).Editable((model.Field(m => m.IsAvailable).ToString()).AsBool());

编译但不工作;对于所有情况,它总是返回 false。

最佳答案

使用 Timothy Walter's link ,我按照他的建议使用编辑事件找到了问题的解决方案。

这是我的代码最终的样子:

.Events(events =>
{
events.Edit("edit_handler");
})
.DataSource(dataSource => dataSource
.Ajax()
.PageSize(10)
.Events(events => events.Error("error_handler"))
.Model(model =>
{
model.Id(m => m.MilestoneId);
model.Field(m => m.ProjectName).Editable(false);
model.Field(m => m.Name).Editable(false);
model.Field(m => m.Status).Editable(true);
})

Javascript 是:

<script type="text/javascript" language="javascript">

function edit_handler(e) {

if (!e.model.isNew()) {
var statusDropDown = e.container.find("input[name=Status]").data("kendoDropDownList");

if (!e.model.IsAvailable) {
statusDropDown.enable(false);
}
}
</script>

关于c# - Kendo MVC Grid - 如何根据模型值使单元格可编辑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17180650/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com