DevExpress WPF中文教程:Grid - 如何完成列和编辑器配置(设计时)?

📅 2026/7/14 13:39:08
DevExpress WPF中文教程:Grid - 如何完成列和编辑器配置(设计时)?
DevExpress WPF拥有120个控件和库将帮助您交付满足甚至超出企业需求的高性能业务应用程序。通过DevExpress WPF能创建有着强大互动功能的XAML基础应用程序这些应用程序专注于当代客户的需求和构建未来新一代支持触摸的解决方案。 无论是Office办公软件的衍伸产品还是以数据为中心的商业智能产品都能通过DevExpress WPF控件来实现。DevExpress新旧版本帮助文档下载可进QQ qun获取169725316本教程将演示如何调整网格列布局、指定单元格编辑器和设置显示值的格式。注意本文是基于上文的基础上演变的选择要显示的列如果AutoGenerateColumns属性设置为AddNewDevExpress WPF GridControl将为绑定数据源中的所有字段生成列。向GridControl显式添加列来仅显示指定的列和每个列的访问设置为此单击GridControl Quick Actions菜单中的Generate Columns项在上文中我们使用了项目源向导此向导为包含值的所有数据源字段生成列按照以下步骤删除不必要的列1. 选择一个列。2. 单击Delete键或单击列的Quick Actions菜单中的Delete按钮从GridControl中删除该列3. 选择GridControl并调用其Quick Actions菜单。4. 将AutoGenerateColumns属性设置为None(默认值)来只显示指定的列更改列布局自适应列到GridControl并设置所有列的最佳宽度来完全显示其内容1. 在GridControl Quick Actions菜单中启用AutoWidth选项来使列自适应网格。2. 在TableView属性窗口中指定TableView.BestFitModeOnSourceChange属性来计算基于单元格和标题内容的所有列的最佳宽度指定一个In-Place编辑器GridControl使用in-place编辑器编辑单元格的值编辑器类型取决于列内容。CheckEdit用于布尔值、DateEdit用于日期、TextEdit用于字符串和数字您也可以定义一个自定义编辑器(例如ComboBoxEdit)向视图模型添加一个Shippers集合MainViewModel.csusing DevExpress.Mvvm; using DevExpress.Mvvm.DataAnnotations; using DevExpress.Mvvm.Xpf; using System.Collections.Generic; using System.Linq; using WPF_DataGrid_GetStarted.Models; namespace WPF_DataGrid_GetStarted.ViewModels { public class MainViewModel : ViewModelBase { NorthwindEntities _Context; IListOrder _ItemsSource; // ... IListShipper _Shippers; public IListShipper Shippers { get { if (_Shippers null !DevExpress.Mvvm.ViewModelBase.IsInDesignMode) { _Context new NorthwindEntities(); _Shippers _Context.Shippers.ToList(); } return _Shippers; } } // ... } }MainViewModel.vbImports DevExpress.Mvvm Imports DevExpress.Mvvm.DataAnnotations Imports DevExpress.Mvvm.Xpf Imports System.Collections.Generic Imports System.Linq Imports WPF_DataGrid_GetStarted.Models Namespace WPF_DataGrid_GetStarted.ViewModels Public Class MainViewModel Inherits ViewModelBase Private _Context As NorthwindEntities Private _ItemsSource As IList(Of Order) ... Private _Shippers As IList(Of Shipper) Public ReadOnly Property Shippers As IList(Of Shipper) Get If _Shippers Is Nothing AndAlso Not DevExpress.Mvvm.ViewModelBase.IsInDesignMode Then _Context New NorthwindEntities() _Shippers _Context.Shippers.ToList() End If Return _Shippers End Get End Property ... End Class End Namespace2. 构建解决方案使Shippers集合在Visual Studio XAML设计器中可见。3. 选择Ship Via列并调用其Quick Actions菜单。4. 将ComboBoxEditSettings对象分配给ColumnBase.EditSettings属性5. 将Shippers集合设置为ComboBoxEditSettings的ItemsSource6. 设置DisplayMember属性为CompanyNameValueMember属性为ShipperId格式化值您可以配置GridControl显示数据的方式下面的示例将Freight列数据格式化为货币1. 选择Freight列调用它的Quick Actions菜单然后选择Create EditSettingsGridControl将TextEditSettings对象分配给ColumnBase.EditSettings属性。2. 打开Mask Editor窗口。3. 选择Numeric数字掩码类型并选择Currency货币掩码。4. 勾选Use mask as DisplayFormat然后点击OK。