javascript - 如何有条件地禁用 kendogrid 中的 selectlistitem
问题描述
我有一个 kendogrid,它有一个允许用户选择公寓状态的字段,我想检查网格数据绑定时的值是否 =3,然后禁用单元格编辑。
@(Html.Kendo().Grid<ApartmentModel>()
.Name("UnitsGrid")
.Columns(columns =>
{
columns.ForeignKey(o => o.Status,
new List<SelectListItem>() {
new SelectListItem() { Text = "Not Reserved", Value = "1", Selected = true },
new SelectListItem() { Text = "Reserved", Value = "2" },
new SelectListItem() { Text = "Contracted", Value = "3" } }, "Value", "Text")
在网格数据绑定事件中
function GridDataBound(data) {
var grid = $("#UnitsGrid").data("kendoGrid");
debugger;
var gridData = grid.dataSource.view();
for (var i = 0; i < gridData.length; i++) {
var gridItem = gridData[i];
if (gridItem.Status == 3) { //Condition
grid.table.find("[name=Status_input]").hide();
}
}
}
解决方案
我认为对于这种情况,列模板是更好的选择。就像是:
columns.Bound(p => p.Status).Template( @<text>
@if(@item.Status == 3){
// Display editable dropdown list
} else {
// Just show the value or a message
"Contracted"
}
</text>
);
推荐阅读
- firebase - Flutter + Firebase:如何查看图像取决于 id?
- api - CRUD 应用程序是否始终是 Web 世界中的 API?
- laravel - 我想在提交表单后保持选择选项。我正在使用 Laravel 7 和 Bootstrap
- javascript - 如何解决链接到输入字段的 Angular FormArray 和 mat-select 选项?
- python - 如何匹配csv文件中的确切单词?
- android - android camera2 createCaptureSession 已弃用
- php - 尝试在 cfgroovy 上使用 Coldfusion 运行 PHP 代码
- django - django:可选字段上的值错误
- python - 问题排序文件夹中的文件“ValueError:int()的无效文字,基数为10:''
- python - 从 DataFrame 到嵌套字典