【发布时间】:2020-05-14 23:59:29
【问题描述】:
我有一个带有 dataGridView 的 WinForms 应用程序,它有 26 列,并填充了来自数据库的数据。如何允许用户隐藏他们不想看到的列并稍后再次显示?我知道如何以编程方式进行,但问题是用户应该如何进行。以下是我的坏主意:
一个复选框列表,每列都可以在此处单击 - 这很糟糕,因为该列表太长并且不适合表单。
每个标题上都有一个复选框,但我不知道如何使这些复选框“粘贴”并随着标题水平滚动。
单击标题 - 这对隐藏很有效,但无法再次显示此列。
那么这里的解决方案是什么?
【问题讨论】:
-
一个更糟糕的方法是为每一列创建一个包含
ToolStripMenuItem的ContextMenuStrip。Check显示,UnCheck隐藏。 -
@JQSOFT:同意你的观点,例如Windows 资源管理器在右窗格中。 Windows 用户熟悉该过程。
-
@JQSOFT 为什么这是一个坏的?许多允许显示/隐藏列的应用程序使用类似的东西,包括 Explorer。 -- 除了之前的解决方案(您可以轻松采用)之外,如果您计划提供更多选项来配置 DGV 布局/外观,您还可以使用选项按钮显示/隐藏 CheckedListBox,可能在临时配置面板中.
-
@JQSOFT 这听起来像是对我的第一想法的优雅改进,我喜欢它
标签: c# winforms user-interface datagridview