当前位置: 首页 > news >正文

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

DevExpress WPF拥有120+个控件和库,将帮助您交付满足甚至超出企业需求的高性能业务应用程序。通过DevExpress WPF能创建有着强大互动功能的XAML基础应用程序,这些应用程序专注于当代客户的需求和构建未来新一代支持触摸的解决方案。 无论是Office办公软件的衍伸产品,还是以数据为中心的商业智能产品,都能通过DevExpress WPF控件来实现。

本教程将演示如何调整网格列布局、指定单元格编辑器和设置显示值的格式。(注意本文是基于上文的基础上演变的,点击这里可回顾>>

DevExpress WPF中文教程图集

获取DevExpress WPF v23.2正式版下载(Q技术交流:532598169)

选择要显示的列

如果AutoGenerateColumns属性设置为AddNew,DevExpress WPF GridControl将为绑定数据源中的所有字段生成列。向GridControl显式添加列来仅显示指定的列和每个列的访问设置,为此单击GridControl Quick Actions菜单中的Generate Columns项:

DevExpress WPF中文教程图集

在上文中,我们使用了项目源向导,此向导为包含值的所有数据源字段生成列,按照以下步骤删除不必要的列:

DevExpress WPF中文教程图集

1. 选择一个列。

2. 单击Delete键或单击列的Quick Actions菜单中的Delete按钮,从GridControl中删除该列:

DevExpress WPF中文教程图集

3. 选择GridControl并调用其Quick Actions菜单。

4. 将AutoGenerateColumns属性设置为None(默认值)来只显示指定的列:

DevExpress WPF中文教程图集

更改列布局

自适应列到GridControl,并设置所有列的最佳宽度,来完全显示其内容:

DevExpress WPF中文教程图集

1. 在GridControl Quick Actions菜单中启用AutoWidth选项来使列自适应网格。

DevExpress WPF中文教程图集

2. 在TableView属性窗口中,指定TableView.BestFitModeOnSourceChange属性来计算基于单元格和标题内容的所有列的最佳宽度:

DevExpress WPF中文教程图集

指定一个In-Place编辑器

GridControl使用in-place编辑器编辑单元格的值,编辑器类型取决于列内容。CheckEdit用于布尔值、DateEdit用于日期、TextEdit用于字符串和数字,您也可以定义一个自定义编辑器(例如,ComboBoxEdit):

DevExpress WPF中文教程图集

向视图模型添加一个Shippers集合:

MainViewModel.cs

using 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;
IList<Order> _ItemsSource;
// ...
IList<Shipper> _Shippers;
public IList<Shipper> Shippers {
get {
if (_Shippers == null && !DevExpress.Mvvm.ViewModelBase.IsInDesignMode) {
_Context = new NorthwindEntities();
_Shippers = _Context.Shippers.ToList();
}
return _Shippers;
}
}
// ...
}
}

MainViewModel.vb

Imports DevExpress.Mvvm
Imports DevExpress.Mvvm.DataAnnotations
Imports DevExpress.Mvvm.Xpf
Imports System.Collections.Generic
Imports System.Linq
Imports WPF_DataGrid_GetStarted.ModelsNamespace WPF_DataGrid_GetStarted.ViewModels
Public Class MainViewModel
Inherits ViewModelBasePrivate _Context As NorthwindEntities
Private _ItemsSource As IList(Of Order)
' ...
Private _Shippers As IList(Of Shipper)Public ReadOnly Property Shippers As IList(Of Shipper)
GetIf _Shippers Is Nothing AndAlso Not DevExpress.Mvvm.ViewModelBase.IsInDesignMode Then
_Context = New NorthwindEntities()
_Shippers = _Context.Shippers.ToList()
End IfReturn _Shippers
End Get
End Property
' ...
End Class
End Namespace

2. 构建解决方案,使Shippers集合在Visual Studio XAML设计器中可见。

3. 选择Ship Via列并调用其Quick Actions菜单。

4. 将ComboBoxEditSettings对象分配给ColumnBase.EditSettings属性:

DevExpress WPF中文教程图集

5. 将Shippers集合设置为ComboBoxEditSettings的ItemsSource:

DevExpress WPF中文教程图集

6. 设置DisplayMember属性为CompanyName,ValueMember属性为ShipperId:

DevExpress WPF中文教程图集

格式化值

您可以配置GridControl显示数据的方式,下面的示例将Freight列数据格式化为货币:

DevExpress WPF中文教程图集

1. 选择Freight列,调用它的Quick Actions菜单,然后选择Create EditSettings:

DevExpress WPF中文教程图集

GridControl将TextEditSettings对象分配给ColumnBase.EditSettings属性。

2. 打开Mask Editor窗口。

DevExpress WPF中文教程图集

3. 选择Numeric(数字)掩码类型并选择Currency(货币)掩码。

4. 勾选Use mask as DisplayFormat然后点击OK。

DevExpress WPF中文教程图集

相关文章:

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

DevExpress WPF拥有120个控件和库&#xff0c;将帮助您交付满足甚至超出企业需求的高性能业务应用程序。通过DevExpress WPF能创建有着强大互动功能的XAML基础应用程序&#xff0c;这些应用程序专注于当代客户的需求和构建未来新一代支持触摸的解决方案。 无论是Office办公软件…...

高考完的三个月想自学点编程,有没有什么建议

&#x1f446;点击关注 获取更多编程干货&#x1f446; 对于刚刚完成高考的学生来说&#xff0c;无论未来是否选择计算机科学作为专业方向&#xff0c;自学编程技能是一项非常有价值的投资&#xff0c;掌握编程知识能够帮助同学们为将来的学习和科研 实践奠定一个基础。 随着…...

运维开发(DevOps):加速软件交付的关键方法

1. 什么是运维开发 运维开发&#xff08;DevOps&#xff09;是将软件开发&#xff08;Development&#xff09;与信息技术运维&#xff08;Operations&#xff09;的流程整合在一起的实践方法。DevOps的目标是通过增强开发和运维团队之间的协作&#xff0c;提高软件产品的发布…...

Vue前端环境搭建:从四个方面、五个方面、六个方面和七个方面深度解析

Vue前端环境搭建&#xff1a;从四个方面、五个方面、六个方面和七个方面深度解析 在构建Vue.js项目时&#xff0c;搭建一个稳定且高效的前端环境至关重要。这不仅关乎项目的顺利推进&#xff0c;更直接影响开发者的效率和代码质量。本文将从四个方面、五个方面、六个方面和七个…...

农业领域科技查新点提炼方法附案例!

农业学科是人类通过改造和利用生物有机体(植物、动物、微生物等)及各种自然资源(光、热、水、土壤等)生产出人类需求的农产品的过程&#xff0c;人类在这一过程中所积累的科学原理、技术、工艺和技能&#xff0c;统称为农业科学技术&#xff0c;该领域具有研究范围广、综合性强…...

【Bazel入门与精通】 rules之属性

https://bazel.build/extending/rules?hlzh-cn#attributes Attributes An attribute is a rule argument. Attributes can provide specific values to a target’s implementation, or they can refer to other targets, creating a graph of dependencies. Rule-specifi…...

Elementor无需第三方插件实现高级下拉菜单/巨型菜单

使用新的嵌套功能创建美观的菜单和大型菜单。巨型菜单是具有复杂导航结构和独特设计的网站的理想选择。 Elementor-设置-特性-Menu启用 之后再去前端编辑器设计即可&#xff0c;就会有一个新的menu菜单模块了。 这个菜单的下拉则是通过Elementor直接来设计&#xff0c;也就以为…...

【数学】什么是傅里叶变换?什么是离散傅里叶变换?什么是拉普拉斯变换?

文章目录 什么是傅里叶变换&#xff1f;什么是离散傅里叶变换&#xff1f;什么是拉普拉斯变换&#xff1f;背景公式示例题目详细讲解Python代码求解实际生活中的例子 什么是线性时不变系统线性性&#xff08;Linearity&#xff09;时不变性&#xff08;Time-Invariance&#xf…...

opencv安装笔记 各种平台

目录 python安装opencv-python c 麒麟arm系统安装和用法 python安装opencv-python pypi上搜索 Search results PyPI 现在安装是一个版本&#xff0c;大于3.6都可以安装 c 麒麟arm系统安装和用法 参考&#xff1a; ffmpeg rknn麒麟系统 安装 opencv_ffmpeg4 解码示例-CSDN…...

前端开发中的热更新原理

一、什么是热更新 热更新&#xff08;Hot Module Replacement&#xff0c;HMR&#xff09;是一种在前端开发中极为重要的技术。它允许开发者在不重新加载整个页面的情况下&#xff0c;实时更新应用程序中的某些模块。简单来说&#xff0c;热更新能让你在开发过程中即时看到代码…...

unix环境高级编程第2版:深入探索UNIX编程的奥秘

unix环境高级编程第2版&#xff1a;深入探索UNIX编程的奥秘 在数字世界的浩瀚海洋中&#xff0c;UNIX环境以其稳定、高效和灵活的特性&#xff0c;一直备受程序员们的青睐。而《unix环境高级编程第2版》这本书&#xff0c;无疑是探索UNIX编程奥秘的绝佳指南。接下来&#xff0…...

力扣42 接雨水

听说字节每人都会接雨水&#xff0c;我也要会哈哈哈 数据结构&#xff1a;数组 算法&#xff1a;核心是计算这一列接到多少雨水&#xff0c;它取决于它左边的最大值和右边的最大值&#xff0c;如下图第三根柱子能接到的雨水应该是第一根柱子高度和第五根柱子高度的最小值减去第…...

【代码随想录】【算法训练营】【第35天】[134]加油站 [135]分发糖果 [860]柠檬水找零 [406]根据身高重建队列

前言 思路及算法思维&#xff0c;指路 代码随想录。 题目来自 LeetCode。 day 35&#xff0c;连休两天~ 题目详情 [134] 加油站 题目描述 134 加油站 解题思路 前提&#xff1a;数组 思路&#xff1a;全局贪心算法&#xff1a;最小累加剩余汽油为负数&#xff0c;说明…...

Talk|新加坡国立大学贾鑫宇:适用于高自由度机器人的运动控制器

本期为TechBeat人工智能社区第600期线上Talk。 北京时间6月13日(周四)20:00&#xff0c;新加坡国立大学博士生—贾鑫宇的Talk已经准时在TechBeat人工智能社区开播&#xff01; 他与大家分享的主题是: “适用于高自由度机器人的运动控制器”&#xff0c;向大家系统地介绍了如何通…...

【npm】console工具(含胶囊,表格,gif图片)

这是一款控制台花样输出工具 相对丰富的输出方式 文本输出属性值输出胶囊样式输出表格输出图片输出&#xff08;含动图&#xff09; 安装 npm install v_aot引用 import v_aot from "v_aot";字段说明 字段类型属性字符串值字符串类型default 、 primary 、 suc…...

OpenCV读取图片

import cv2 as cv # 读取图像 image cv.imread(F:\\mytupian\\xihuduanqiao.jpg) # 创建窗口 cv.namedWindow(image, cv.WINDOW_NORMAL) #显示图像后&#xff0c;允许用户随意调整窗口大小 # 显示图像 cv.imshow(image, image) cv.waitKey(0)import cv2 as cv srccv.imread(…...

HBase中的CRUD

Table接口&#xff1a;负责表数据的基本操作。 Admin类&#xff1a;负责管理建表、删表、该表等元数据操作的接口。 1、Put方法 1.1、了解put方法之前&#xff0c;必须知道的相关知识。 在HBase中有一个理念&#xff1a;所有的数据皆为bytes。因此在HBase中所有的数据最终都…...

C/C++学习笔记 C语言中的\0以及查找字符串中字符出现的频率

在此示例中&#xff0c;计算了字符串对象中字符的频率。 为此&#xff0c;使用size()函数查找字符串对象的长度。然后for 循环迭代直到字符串末尾。 在每次迭代中&#xff0c;检查字符是否出现&#xff0c;如果发现&#xff0c;则计数增加 1。 示例 1 #include <iostream&g…...

在C#中,有多种方式可以实现每天在指定的时间清空数据库数据。下面列出几种常用的方法,并提供简要的实现思路:

在C#中&#xff0c;实现每天在指定时间清空数据库数据的需求&#xff0c;可以通过多种方式来完成。下面列举了几种常用的方法&#xff1a; 方式一&#xff1a;使用 Task 和 Timer 这种方法利用 System.Threading.Timer 类来定时执行清空数据库的操作。 using System; using …...

深入理解java设计模式之单例模式

目录 概述单例模式是什么单例模式的使用场景单例模式的优缺点单例模式的几种实现方式饿汉式懒汉式双重检查锁定机制静态内部类枚举使用容器几种可能破坏单例类的方法多线程环境下的竞争条件使用反射机制使用序列化多个类加载器概述 单例模式是什么 定义:单例模式确保一个类在…...

程序员自由创业周记#36:Gap Year

程序员自由创业周记#36&#xff1a;Gap Year 一整年 刚过去的一周&#xff0c;度过了我31周岁的生日&#xff0c;距离结束上一份工作&#xff0c;刚好一年。一年过得好快&#xff0c;犹记得刚失业那会的迷茫&#xff0c;第一个月的纠结&#xff0c;是继续打工还是自己当“老板…...

Java 类与对象 -- Java 语言的类与对象、构造器、static、final、包和 JAR

大家好&#xff0c;我是栗筝i&#xff0c;这篇文章是我的 “栗筝i 的 Java 技术栈” 专栏的第 006 篇文章&#xff0c;在 “栗筝i 的 Java 技术栈” 这个专栏中我会持续为大家更新 Java 技术相关全套技术栈内容。专栏的主要目标是已经有一定 Java 开发经验&#xff0c;并希望进…...

MTK平台纯色背景抑制

MTK中有两个机制可以抑制纯色背景的亮度&#xff0c;分别是Main target、Histogram。 Main target的纯色背景亮度机制原理大概如下&#xff1a; 将图像分成64*48块&#xff0c;分别统计每一块的亮度Y。 但对于纯色背景时&#xff0c;如果仍然使用Luma来计算&#xff0c;容易造…...

Linux iptables使用详解

一、Linux系统下使用iptables 在Linux中&#xff0c;常用的防火墙工具是iptables。以下是一些基本的iptables命令&#xff0c;用于配置防火墙规则。 查看现有的iptables规则&#xff1a; sudo iptables -L 清除所有现有的规则&#xff08;慎用&#xff0c;可能导致服务不可用…...

算法02 递归算法及其相关问题

递归 在编程中&#xff0c;我们把函数直接或者间接调用自身的过程叫做递归。 递归处理问题的过程是&#xff1a;通常把一个大型的复杂问题&#xff0c;转变成一个与原问题类似的&#xff0c;规模更小的问题来进行求解。 递归的三大要素 函数的参数。在用递归解决问题时&…...

三个pdf工具和浏览软件(pdftk,muppdf,epdfview)

安装pdftk pdftk是一款功能强大的PDF处理工具&#xff0c;主要用于对PDF文件进行各种操作。它提供了丰富的功能&#xff0c;包括但不限于合并、拆分、旋转、加密、解密、添加水印、从PDF文档中解出附件等。pdftk分为图形界面版本和命令行版本&#xff0c;适用于不同的用户需求…...

UKP3d的excel汇总表

长沙某正版用户就EXCEL的图框两点问题&#xff0c;进行交流&#xff1a; 1.1.图框&#xff1a;中英文两行&#xff0c;字体样式&#xff0c;logo加上等个性化需求&#xff1b; cbl回复&#xff1a;9.3后续版本迭代会加图框&#xff08;解决用户个性化需求&#xff09;&#xf…...

体验亚马逊AIGC——Amazon Bedrock

前言 随着人工智能技术的不断发展&#xff0c;我们已经进入了一个全新的时代&#xff0c;即AI驱动的时代。在这个时代&#xff0c;人工智能已经逐渐成为我们生活中不可或缺的一部分&#xff0c;它可以帮助我们更好地处理各种复杂的问题&#xff0c;提高我们的工作效率&#xff…...

Vue前端服务是什么:深入解析与实际应用

Vue前端服务是什么&#xff1a;深入解析与实际应用 在现今的互联网开发领域&#xff0c;前端技术日新月异&#xff0c;Vue.js作为其中的佼佼者&#xff0c;其前端服务更是成为了众多开发者关注的焦点。那么&#xff0c;Vue前端服务究竟是什么&#xff1f;它有哪些核心要素和实…...

mysql_ssl_rsa_setup使用详解

mysql_ssl_rsa_setup 是一个MySQL附带的工具&#xff0c;用于自动创建SSL证书和密钥文件&#xff0c;以便在MySQL服务器与客户端之间启用安全的SSL/TLS连接。这对于确保数据传输的安全性是非常重要的&#xff0c;尤其是在不安全的网络环境中。下面是对mysql_ssl_rsa_setup使用的…...