C# Winform Datagridview控件使用和详解

DataGridView 是一种以表格形式显示数据的控件,由Rows(行),Columns(列),Cells(单元格)构成。本实例将综合利用DataGridView的属性和事件,展示不同的表格风格数据和操作。包含:

  • 添加Datagridview行,列数据
  • 设置列单元格不同的控件形式(TextBox,Button,ComboBox,CheckBox,Image,Link)
  • 单元格显示多个控件,及控件绑定行,列信息
  • 编辑,删除行数据
  • 复制表格和单元格数据
  • 查询,定位表格数据
  • Datagridview行间隔颜色
  • 单元格有效值判断
  • 自定义Datagridview扩展控件
  • 合并单元格

Datagridview基本属性:

  • DataSource 设置DataGridView 控件的数据源,常用的数据源类型有:DataTable,List集合。
  • Rows: 通过此属性可以访问或操作行集合中的行。
  • Columns: 通过此属性可以访问或操作列集合中的列。
  • Cell: 表示 DataGridView 控件中的一个单元格。
  • Value: 单元格存储的实际数据。
  • Selected: 表示单元格是否被选中。
  • RowIndex: 单元格所在的行索引。
  • ColumnIndex: 单元格所在的列索引。

Datagridview常用属性:

  • AllowUserToAddRows:控制是否显示用于添加新行的空白行。
  • AllowUserToDeleteRows:控制用户是否可以从 DataGridView 中删除行,默认值为 true。用户可以通过选中行并按 Delete 键来删除行。
  • AllowUserToOrderColumns:控制是否允许用户手动调整列的位置。True: 允许用户通过拖动来重新放置列。False: 不允许用户手动调整列的位置。
  • AllowUserToResizeColumns: 是否允许用户调整列宽。
  • AllowUserToResizeRows: 是否允许用户调整行高。
  • AutoSizeColumnsMode: 确定列的自动大小调整模式。
  • AutoSizeRowsMode: 确定行的自动大小调整模式。
  • EditMode: 定义何时可以编辑单元格的内容。
  • GridColor: 网格线的颜色。
  • MultiSelect: 是否允许用户同时选择多个单元格、行或列。
  • SelectionMode: 设置单元格选择模式。
  • ColumnType: 列的类型,例如 DataGridViewTextBoxColumn, DataGridViewCheckBoxColumn 等。
  • DataPropertyName: 绑定到数据源的属性名。
  • HeaderText: 列标题显示的文本。
  • Selected: 行是否被选中。
  • State: 行的状态。
  • OwningColumn: 所属的列。
  • ColumnIndex: 所在列的索引。
  • FormattedValue: 显示格式化后的值。
  • FormattedValueType: 格式化值的类型。
  • ValueType: 单元格值的数据类型。

Datagridview常用事件:

  • CellClick:单元格单击事件,点击单元格触发。
  • CellContentClick:单元格内容单击事件,必须点击到表格内的内容时才能触发事件。
  • CellChanged事件:点击表格内任意部分即可触发事件。
  • CellValueChanged:初始化和内容提交后(失去焦点后)触发事件
  • CurrentCellDirtyStateChanged:内容被修改后,触发事件(立即)
  • CellBeginEdit:单元格编辑前的值
  • CellEndEdit:单元格编辑后的值

参考:

【WinForm详细教程七】WinForm中的DataGridView控件_winform datagridview-CSDN博客

工程代码实例:

https://download.csdn.net/download/lvxingzhe3/89432596

相关推荐
2501_930707782 小时前
使用C#代码在 PDF 文档中创建交互操作
pdf·c#·交互
zimoyin12 小时前
在 C# 里嵌入 JavaScript:用 Jint 做可热更新的自动化脚本(从入门到踩坑)
javascript·c#·自动化
小羊没烦恼!14 小时前
异步编程:线程概述及使用
java·开发语言·mysql·算法·c#
c#上位机16 小时前
C#上位机项目实战——exe项目调试更改dll中源代码
开发语言·c#
淡海水17 小时前
06-02-源码-增量标记算法实现
算法·unity·c#·gc
淡海水18 小时前
06-01-源码-Incremental GC总览与设计
unity·c#·gc
江沉晚呤时20 小时前
零依赖的代价与自由:我用 C# 自研了一套 Office 读写库
开发语言·c#
zimoyin1 天前
Windows 控件获取全攻略:Win32 / UIA / MSAA + 鼠标拾取与点击关联(C# 实战)
c#·自动化
小羊没烦恼!1 天前
铁道部新客票系统设计(二)
开发语言·前端·数据库·python·oracle·c#·php
昂好的day1 天前
VisionMaster 通信模块实战(上):Modbus、TCP 收发、协议组装解析
开发语言·网络·网络协议·tcp/ip·c#