首页 > 其他分享 >DevExpress WinForms中文教程:Grid View - 如何实现列的可见性

DevExpress WinForms中文教程:Grid View - 如何实现列的可见性

时间:2025-01-03 10:31:00浏览次数:1  
标签:Column DevExpress 可见 WinForms Grid 视图 隐藏

DevExpress WinForms拥有180+组件和UI库,能为Windows Forms平台创建具有影响力的业务解决方案。DevExpress WinForms能完美构建流畅、美观且易于使用的应用程序,无论是Office风格的界面,还是分析处理大批量的业务数据,它都能轻松胜任!

本文将为大家介绍如何使用DevExpress WinForms Data Grid组件实现列的可见性。

获取DevExpress WinForms v24.2正式版下载

DevExpress技术交流群11:749942875      欢迎一起进群讨论

默认操作

DevExpress Grid控件支持Microsoft Outlook样式的列选择器窗口,该窗口可以在列标题上下文菜单中调用。

DevExpress WinForms中文教程图集

您可以将列标题拖到该窗口上,以便在视图中隐藏列。

DevExpress WinForms中文教程图集

将其拖回以使列再次可见。

DevExpress WinForms中文教程图集

注意,当交叉光标出现时,您还可以在列标题面板下方放置一个列标题。这也将隐藏列,其标题将出现在自定义窗口中。

DevExpress WinForms中文教程图集

在Visual Studio中,您在设计时就可以使用相同的特性。您可以使用拖放或从上下文菜单中选择“Remove This Column”项,就像在运行时一样,可以把header拖回View。

指定列可见性

如果需要在代码中更改列的可见性,最简单的方法是使用它的GridColumn.Visible属性。注意,将其设置为false也会将VisibleIndex属性值更改为-1。

DevExpress WinForms中文教程图集

切换回GridColumn.Visible,看看GridColumn.VisibleIndex是如何恢复到之前的值的。

限制最终用户的能力

运行应用程序并调用Column Chooser对话框,这里显示了一个列标题,因此可以将其拖回View。

DevExpress WinForms中文教程图集

如果您不希望最终用户这样做,还可以在Column Chooser窗口中隐藏标题,选择所需的列并禁用其OptionsColumn.ShowInCustomizationForm选项。

DevExpress WinForms中文教程图集

现在再次打开列选择器,看到标题不再存在。

DevExpress WinForms中文教程图集

现在通过向下拖动来隐藏列,默认情况下,此功能是打开的,但您可以使用视图的GridOptionsCustomization.AllowQuickHideColumns选项禁用它。在这种情况下,十字光标永远不会出现,最终用户只能通过将列拖到Column Chooser表单来隐藏列。

DevExpress WinForms中文教程图集

您还可以禁用列拖放,如前面教程中所述(请参阅GridOptionsCustomization.AllowColumnMoving)。在这种情况下,Column Chooser对话框不可用,但是您仍然可以使用上下文菜单隐藏列。

响应列可见性变化

由于隐藏列实际上是将其位置更改为-1,因此用于响应可见性更改的事件是视图的ColumnView.ColumnPositionChanged,本教程通过一个简单的示例说明该事件的用法。处理程序将计算视图中当前可见的所有列的总宽度,请注意,视图为您提供了ColumnView.VisibleColumns属性,以简化此操作。然后,如果总列宽度小于控件的宽度,则启用视图的自动列宽度特性。

C#

using DevExpress.XtraGrid.Views.Grid;
//...
private void gridView1_ColumnPositionChanged(object sender, EventArgs e) {
GridView view = sender as GridView;
if(view == null) return;
int totalWidth = view.VisibleColumns.Sum(column => column.Width);
view.OptionsView.ColumnAutoWidth = totalWidth < gridControl.Width;
}

运行应用程序,默认情况下水平滚动是启用的,现在隐藏一些列,一旦不再需要水平滚动,就启用自动列宽模式,将列带回到View中,再次看到水平滚动条。

带状视图中的列可见性

值得注意的是,在带状视图和高级带状视图中也有类似的可见性定制功能。您可以拖动列或带标头,直到交叉光标出现,或者直接拖到Column Chooser对话框上,然后以同样的方式将它们拖回“视图”中。

标签:Column,DevExpress,可见,WinForms,Grid,视图,隐藏
From: https://www.cnblogs.com/AABBbaby/p/18649539

相关文章

  • New!界面控件DevExpress WinForms v24.2系统环境配置要求
    DevExpressWinForms拥有180+组件和UI库,能为WindowsForms平台创建具有影响力的业务解决方案。DevExpressWinForms能完美构建流畅、美观且易于使用的应用程序,无论是Office风格的界面,还是分析处理大批量的业务数据,它都能轻松胜任!本文档包含有关安装和使用 DevExpressWinForms ......
  • WPF DevExpress按住鼠标下拉滑动列表功能
    usingSystem;usingSystem.Windows;usingSystem.Windows.Controls;usingSystem.Windows.Input;usingSystem.Windows.Media;usingSystem.Windows.Threading;usingDevExpress.Xpf.Grid;namespaceClient{publicclassAutoScrollHelper{publicA......
  • opencv中findCirclesGrid在标定时使用,blobDetector 参数怎么定义?
    在OpenCV中,findCirclesGrid是一个用于检测图像中的圆形格点(通常用于相机标定或校正的检测目标)的函数。它可以用于查找在特定模式下排列的圆形图案,如棋盘格或圆形网格。该函数是相机标定和立体视觉的重要工具。函数原型boolcv::findCirclesGrid(InputArrayimage,S......
  • WPF add System.Windows.Forms.PropertyGrid via WindowsFormsHost
    1.AddreferenceSystem.Windows.Forms.dll;2.Addreference C:\ProgramFiles\ReferenceAssemblies\Microsoft\Framework\v3.0\WindowsFormsIntegration.dll3.//xaml<Windowx:Class="WpfApp131.MainWindow"xmlns="http://schemas.mi......
  • WPF call Windows.Forms.PropertyGrid in xaml
    1.AddreferenceSystem.Windows.Forms;2.Addreference C:\ProgramFiles\ReferenceAssemblies\Microsoft\Framework\v3.0\WindowsFormsIntegration.dll3.<Windowx:Class="WpfApp132.MainWindow"xmlns="http://schemas.microsoft.com......
  • Spread WinForms 18.0 FIX
    SpreadDesignerUserInterfaceWhilenotacomprehensivesummaryofeverypartoftheSpreadDesigneruserinterface(UI),thisbriefoverviewpointsoutafewofthemainpartsoftheinterfaceandshowsyouthebasiclayoutoftheSpreadDesigner.There......
  • 界面控件DevExpress v24.2新版亮点 - 人工智能(AI)
    DevExpress拥有.NET开发需要的所有平台控件,包含600多个UI控件、报表平台、DevExpressDashboardeXpressApp框架、适用于VisualStudio的CodeRush等一系列辅助工具。屡获大奖的软件开发平台DevExpress今年第一个重要版本v23.1正式发布,该版本拥有众多新产品和数十个具有高影......
  • 界面控件DevExpress v24.2新版亮点 - 人工智能(AI)
    DevExpress拥有.NET开发需要的所有平台控件,包含600多个UI控件、报表平台、DevExpressDashboardeXpressApp框架、适用于VisualStudio的CodeRush等一系列辅助工具。屡获大奖的软件开发平台DevExpress今年第一个重要版本v23.1正式发布,该版本拥有众多新产品和数十个具有高影响力......
  • DataGrid的自动行列显示
    新建wpf页面DataGridAutoView引用空间:xmlns:ga="clr-namespace:WPFDemoMVVM.Helpers" <Windowx:Class="WPFDemoMVVM.View.DataGridAutoView" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http:......
  • 基于winforms开发的的工控界面,真是够简单粗暴的啊
    基于WinForms开发的工控界面确实呈现出简单粗暴的特点。其界面设计往往直截了当地展示各种功能控件,布局上没有过多华丽的修饰,以实用性为导向。对于工业控制场景而言,操作人员能够迅速找到所需的按钮、仪表盘等元素,无需在复杂的界面导航和精美但可能分散注意力的视觉效果中浪费......