当您使用具有 true 值的标志“showColumnMenu”时。 ng-grid 通过右端顶部面板上的按钮呈现。
使用此按钮我们可以隐藏/显示网格上的列。
就我而言,我不想让某些列在网格上可见 - 这意味着我希望在没有某些列的情况下呈现列菜单框。
我创建了 plunker 来证明我的问题
> http://plnkr.co/edit/VXOzBIRfyY3FoCTct9PI?p=preview
在该 plnkr - 我使用 (visible: false) 将列“Id”设置为不可见 但是如果用户单击右端面板上的列菜单 他将能够将其设置为可见..
编辑
我需要介绍的另一个场景是存在其他一些情况的情况 列说“名称”,我不希望让用户在列菜单中配置它(通过将其设置为不可见) - 这意味着列“名称”必须始终位于网格上! 并且用户不需要在列菜单中看到它..
所以,如果我可以在列菜单中隐藏这些列(id,name)就好了 我的问题将会得到解决..
谢谢!
最佳答案
您可以在 ng-grid 源文件中编辑一点 menuTemplate.html
- 查找从以下位置开始的行:
$templateCache.put('menuTemplate.html',
和行
<label><input ng-disabled=\"col.pinned\" type=\"checkbox\" class=\"ngColListCheckbox\" ng-model=\"col.visible\"/>{{col.displayName}}</label>\r" +
更改为
<label ng-hide=\"col.colDef.alwaysVisible\"><input ng-disabled=\"col.pinned\" type=\"checkbox\" class=\"ngColListCheckbox\" ng-model=\"col.visible\"/>{{col.displayName}}</label>\r" +
现在您可以添加
alwaysVisible:true
到columnDefs就完成了
请在此处查看工作演示 http://plnkr.co/edit/qmoILJ5LTMSlH7Uv9Rw8?p=preview
关于javascript - Angular ng-网格-从列菜单中隐藏/删除列输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28330491/