我有一个使用 MVVM 的剑道网格。我的问题是我似乎无法使用 hidden 属性和表达式设置列可见性:
data-columns=
"[{'template':'# if (User!=null) { # #=User.Name# # } #',
'title':'User', 'hidden': User==null}
该模板有效,但“隐藏”属性似乎无效。
有什么办法可以让它工作吗?
我有一个使用 MVVM 的剑道网格。我的问题是我似乎无法使用 hidden 属性和表达式设置列可见性:
data-columns=
"[{'template':'# if (User!=null) { # #=User.Name# # } #',
'title':'User', 'hidden': User==null}
该模板有效,但“隐藏”属性似乎无效。
有什么办法可以让它工作吗?
作为替代方案,您可以绑定到dataBinding
ordataBound
事件以有条件地隐藏列:
data-bind="events:{ dataBinding: onDataBinding }"
查看型号:
var viewModel = kendo.observable({
User: null,
showHideUserColumn: function (e) {
var grid = e.sender;
if (this.User) {
grid.showColumn("User");
} else {
grid.hideColumn("User");
}
},
onDataBinding: function (e) {
this.showHideUserColumn(e);
// if you want to track changes, (re)bind change tracking
this.unbind("change", this.showHideUserColumn);
this.bind("change", this.showHideUserColumn);
}
});
只有通过属性指定的data-bind
属性参与 MVVM 更改跟踪。其他数据属性映射到小部件配置属性,并且不针对视图模型进行评估。
目前没有允许您隐藏和显示网格列的绑定。