C# Winform Datagridview控件使用和详解

news/2024/7/6 0:48:47

        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


http://lihuaxi.xjx100.cn/news/2218119.html

相关文章

企业级Flask项目移植记录【待补完】

背景 Flask项目A从老电脑C1移植到新电脑C2上 更新日志 1-240614上线第一版经验,博主关于这个项目包的问题还没有解决,正在解决中,但是整体思路大家在移植的时候可以借鉴。 思路 1-首先生产环境的python解释器等相关的东西最好严格保持一…

Redis学习(11)|Redis键值管理与Spring Boot集成实战

文章目录 引言Redis键值管理概述Spring Boot中使用`RedisTemplate`进行键值管理结论键的生命周期管理,TTL(Time To Live)和过期策略,以及如何批量处理键。 引言 Redis是一款高性能的键值存储系统,以其速度、灵活性和丰富的数据结构而著称。键值管理是Redis的核心功能之一…

【 Python高级编程】 Canny边缘检测算法阈值设置

Canny边缘检测算法中的两个阈值参数(threshold1和threshold2)的设置对于边缘检测的效果至关重要。选择合适的阈值需要根据实际应用场景和图像特点进行调整。以下是一些设置这两个阈值的指导原则和方法: 阈值设置原则 高阈值 (threshold2)&am…

AI网络爬虫:批量爬取AI导航网站Futurepedia数据

Futurepedia致力于使AI技术对各行各业的专业人士更加可理解和实用,提供全面的AI网站和工具目录、易于遵循的指南、每周新闻通讯和信息丰富的YouTube频道,简化AI在专业实践中的整合。如何把Futurepedia上的全部AI网站数据爬取下来呢? 网站一页…

[next.js] svgr/webpack

nextjs如何配置svg文件,使其像react组件一样导入? 当前next.js 开发环境我使用了--turbo 来开启turbopack加速文件构建,所以之前的一些webpack loader之类的无法正常工作。通过搜索发现一般都是使用svgr/webpack来处理svg,打开svgr官网发现…

线程相关的基本方法

1.线程等待(wait) 调用该方法后,线程会释放锁;线程进入到WATING状态;调用notifyAll()和notify()进行唤醒。 2.线程睡眠(sleep) 调用该方法不会释放锁(抱着锁睡);线程进入TIMED-…

【leetcode刷题】面试经典150题 , 27. 移除元素

leetcode刷题 面试经典150 27. 移除元素 难度:简单 文章目录 一、题目内容二、自己实现代码2.1 方法一:直接硬找2.1.1 实现思路2.1.2 实现代码2.1.3 结果分析 2.2 方法二:排序整体删除再补充2.1.1 实现思路2.1.2 实现代码2.1.3 结果分析 三、…

Gauss200使用分享

登录、授权控制 解锁账户 su - omm gsql -d db_rdb -p 8000 -ralter user ado_user account unlock; alter user sig_qry_rpt account unlock;参数控制 && 优化参考 只读模式解锁 su - omm gs_guc reload -Z coordinator -Z datanode -N all -I all -c "defau…