javascript - Angular ng-网格-从列菜单中隐藏/删除列输入

标签 javascript angularjs grid multiple-columns ng-grid

当您使用具有 true 值的标志“showColumnMenu”时。 ng-grid 通过右端顶部面板上的按钮呈现。

使用此按钮我们可以隐藏/显示网格上的列。

就我而言,我不想让某些列在网格上可见 - 这意味着我希望在没有某些列的情况下呈现列菜单框。

我创建了 plunker 来证明我的问题

> http://plnkr.co/edit/VXOzBIRfyY3FoCTct9PI?p=preview

在该 plnkr - 我使用 (visible: false) 将列“Id”设置为不可见 但是如果用户单击右端面板上的列菜单 他将能够将其设置为可见..

编辑

我需要介绍的另一个场景是存在其他一些情况的情况 列说“名称”,我不希望让用户在列菜单中配置它(通过将其设置为不可见) - 这意味着列“名称”必须始终位于网格上! 并且用户不需要在列菜单中看到它..

所以,如果我可以在列菜单中隐藏这些列(id,name)就好了 我的问题将会得到解决..

谢谢!

最佳答案

您可以在 ng-grid 源文件中编辑一点 menuTemplate.html

  1. 查找从以下位置开始的行:$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/

相关文章:

javascript - 刷新后如何选择相同的div

angularjs - Angular ui-sortable + angular-gridster

reactjs - Material 用户界面 : deck gl covers grid

Java数据网格控件

javascript - 无法使用jquery读取属性值

javascript - 我的幻灯片到 anchor jQuery 例程是否正确使用了 JavaScript,还是有更好的方法?

css - 如何在离散条形图条上放置 MouseOver 事件

C# - 填充 Gridview

javascript - 将 MySQL 结果写入路由文件

javascript - 使用 angularjs 和 PHP (PDO) 连接 MySQL