如果我们必须在kendo网格中隐藏一列,我们通常会写这个。
{ field: "Name", hidden: true },
但我想在隐藏中使用条件。真或假将来自另一个领域的数据库,即HideShow。如果我可以设置它,有没有选择。
{ field: "Name", hidden: HideShow},
从数据库获取记录时将设置HideShow = true / false。
我已经尝试过隐藏并通过jquery显示但是它在显示时扭曲了网格布局。 Hide工作正常。
答案 0 :(得分:1)
为网格定义DataBound事件,并决定隐藏列。以下是一个示例:
<script>
var grid = $("#myGrid").data("kendoGrid");
grid.bind("dataBound", grid_dataBound);
<script>
function grid_dataBound() {
if (MustBeHide)
this.hideColumn("Name");
}
</script>
这将隐藏“名称”列。
您还可以按列索引隐藏列,如下所示:
function grid_dataBound() {
if (MustBeHide)
this.hideColumn(1);
}
答案 1 :(得分:0)
您可以在Edit: onGridEditing
上执行此操作。以下是功能:
function onGridEditing(arg) {
if (true) {
$('label[for=Name]').hide();
$('div[data-for=DesignationID]').hide();
}
else {
$('label[for=Name]').show();
$('div[data-for=DesignationID]').hide();
}
}
希望这会对你有所帮助。