当您使用带有真实值的标志“ 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/

10-12 06:40