当您使用带有真实值的标志“ showColumnMenu”时。
ng-grid用右上角顶部面板上的按钮渲染。
使用此按钮,我们可以隐藏/显示网格上的列。
在我的案例中,我不想使某些列在网格上可见-意味着我希望列菜单框将不包含某些列而呈现。
我制造了一个展示了我的问题的矮人
> http://plnkr.co/edit/VXOzBIRfyY3FoCTct9PI?p=preview
在该plnkr中-我使用(visible:false)将列'Id'设置为不可见
但是,如果用户单击右侧面板上的列菜单
他将能够将其设置为可见。
编辑
我需要介绍的另一种情况是还有其他情况
列说“名称”,我不想让用户在列菜单中配置它(通过将其设置为不可见)-这意味着列“名称”必须始终在网格上!
用户不需要在列菜单中看到它。
所以,如果我能将那些列(id,name)隐藏在列菜单中
我的问题会解决的..
谢谢!
最佳答案
您可以编辑ng-grid源文件中的menuMenu.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- grid-从列菜单中隐藏/删除列输入,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28330491/