我正在尝试使用Kendo网格工具栏中的Kendo ui菜单,如下所示:

我能够使用JQuery (这里是一个工作的小提琴 )让它工作,但我需要让它以角的方式工作。
我尝试在网格的数据库功能中使用这个方法:
for (var i = 0, max = $scope.SearchGrid.columns.length; i < max; i++) {
ds.push({
encoded: false,
text: "<label><input type='checkbox' checked='checked' " +
" class='check' data-field='" +
$scope.SearchGrid.columns[i].field +
"</label>"
});
}然后在控制器中这样做:
$scope.menuDataSource = [
{
text: "Edit Columns",
items: ds
}]; 我把它放在工具栏上,如下所示:
toolbar: [
{
name: "Edit Columns",
template:
' <div class="k-button btn btn-default btn-xs" style="float: left" kendo-menu k-data-source="menuDataSource"></div>'
}
],但是菜单在"ds“中有任何内容之前就呈现了,我不知道如何在菜单上调用类似于dataSource.read()的东西。我想一定有办法做这件事,但在我的生命中,我想不出答案。任何帮助都是非常感谢的!
发布于 2017-05-13 19:03:20
因此,您希望在网格呈现后在kendoMenu中设置项,但是在网格工具栏中使用kendoMenu。最好的解决方案是在菜单dataSource中设置新的项目,在网格读取它的数据之后。您可以使用dataSource setOptions方法的kendoMenu:
$('div[kendo-grid="SearchGrid"] .k-menu').data('kendoMenu').setOptions({dataSource: $scope.menuDataSource});检查这个示例--我将Item2添加到dataSource中,并在kendoMenu:http://dojo.telerik.com/OnAXI/2中设置
https://stackoverflow.com/questions/43945532
复制相似问题