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

相关推荐
安木夕6 小时前
C#-Visual Studio宇宙第一IDE使用实践
前端·c#·.net
gregmankiw9 小时前
C#调用Rust动态链接库DLL的案例
开发语言·rust·c#
阿蒙Amon10 小时前
06. C#入门系列【自定义类型】:从青铜到王者的进阶之路
开发语言·c#
钢铁男儿14 小时前
C# 表达式和运算符(表达式和字面量)
开发语言·c#
林鸿群14 小时前
C#子线程更新主线程UI及委托回调使用示例
开发语言·c#
o0向阳而生0o14 小时前
63、.NET 异常处理
c#·.net·异常处理
SteveDraw17 小时前
C++动态链接库封装,供C#/C++ 等编程语言使用——C++动态链接库概述(总)
开发语言·c++·c#·封装·动态链接库
Kookoos18 小时前
性能剖析:在 ABP 框架中集成 MiniProfiler 实现性能可视化诊断
后端·c#·.net·abp vnext·miniprofiler
阿翰20 小时前
自动 GitHub Readme 20 种语言翻译平台 - OpenAiTx 开源免费
c#·.net
枫叶kx1 天前
1Panel运行的.net程序无法读取系统字体(因为使用了docker)
c#