C# Winform中DataGridView的详细操作指南
"关于C# WinForm中DataGridView的使用方法和技巧" 在C# WinForm开发中,DataGridView控件是一个常用的数据展示和编辑工具。它允许用户以表格形式查看和操作数据,支持多种交互功能。以下是一些关于DataGridView的操作要点: 1. 获取和设置单元格值: - 可以通过`dataGridView1.Rows[index].Cells[index].Value`来获取或设置指定行和列的单元格值。 - `index`是行或列的索引,注意行索引是从0开始的。 2. 错误提示和异常处理: - 当尝试访问不存在的行或列时,可能会出现错误。在编程中应确保索引的有效性,避免空引用异常。 3. 事件处理: - `CellClick`事件:当用户点击单元格时触发,可用于响应用户的选择。 - `CellValidating`和`CellValueChanged`事件:在用户更改单元格值时,用于数据验证和更新。 - `RowValidating`和`RowLeave`事件:在用户离开某一行时,可用于整行数据的验证。 4. 添加和删除行: - 使用`dataGridView1.Rows.Add()`方法向DataGridView添加新行。 - `dataGridView1.Rows.RemoveAt(index)`或`dataGridView1.Rows.Clear()`可删除指定索引的行或所有行。 5. 显示和隐藏列: - `dataGridView1.Columns["ColumnName"].Visible = false`隐藏名为“ColumnName”的列。 - `dataGridView1.Columns["ColumnName"].Visible = true`显示该列。 6. 自定义列宽和行高: - `dataGridView1.Columns["ColumnName"].Width = 100`设置列宽为100像素。 - `dataGridView1.Rows[0].Height = 50`设置第一行的高度为50像素。 7. 头部文本和样式: - `dataGridView1.Columns["ColumnName"].HeaderText`用于设置列头文本。 - 可以通过调整DefaultCellStyle属性改变单元格、行或列的样式。 8. 拖动列宽: - 用户可以通过拖动列头边框来调整列宽,也可通过编程实现自动调整列宽至适合内容。 9. 鼠标右键菜单: - 可以为DataGridView添加一个ContextMenuStrip,然后通过`dataGridView1.ContextMenuStrip = contextMenuStrip1;`关联到特定的右键菜单。 - `dataGridView1.Columns["ColumnName"].HeaderCell.ContextMenuStrip = contextMenuStrip1;`将菜单关联到列头。 10. 数据格式化: - 对于特定列,如“Column1”,可以设置其DefaultCellStyle.Format属性,如`dataGridView1.Columns["Column1"].DefaultCellStyle.Format = "N2";`,使数值以两位小数的形式显示。 - 如果“Column1”是布尔类型,可以设置其DefaultCellStyle.NullValue属性,如`dataGridView1.Columns["Column1"].DefaultCellStyle.NullValue = true;`,使得空值默认显示为True。 11. 工具提示: - 可以通过`dataGridView1 tooltips`设置单元格的工具提示,例如`dataGridView1.Rows[index].Cells[index].ToolTipText = "提示信息";` 12. 事件触发条件: - `dataGridView1.CellEnter`事件在单元格获得焦点时触发。 - `dataGridView1.CellContentClick`事件在单元格内容被点击时触发。 - `dataGridView1.CellMouseDown`和`dataGridView1.CellMouseUp`事件分别在单元格被鼠标按下和释放时触发。 通过掌握这些基本操作,开发者可以灵活地构建和定制适应不同需求的DataGridView界面,提供丰富的用户交互体验。在实际项目中,可以根据具体业务逻辑和用户需求,结合以上知识点进行更深入的定制和扩展。
关键字: c# winform 关于 datagridview 一些 操作
设置字段名 设置字段值 设定单元格表示 Error图标 设定当前单元格 取得当前单元格内容 取得当前单元格的列 Index 取得当前单元格的行 Index 向下一行 向上一行 取消 DataGridView1 为只读 设置 DataGridView1 为只读 设置 DataGridView1 的第2列整列单元格为只读并变色 设置 DataGridView1 的第3行整行单元格为只读并变色 设置 DataGridView1 的[0,0]单元格为只读并变色 设置 DataGridView1 的第2列整列单元格为只读并变色 设置 DataGridView1 的第3行整行单元格为只读并变色 设置 DataGridView1 的[0,0]单元格为只读并变色 设置用户不能手动给 DataGridView1 添加新行 设置用户可以手动给 DataGridView1 添加新行 禁止DataGridView1的行删除操作。 允许DataGridView1的行删除操作。 DataGridView1的第一列隐藏 DataGridView1的第一行隐藏 DataGridView1的第一列显示 DataGridView1的第一行显示 列头隐藏 行头隐藏 列头显示 行头显示 删除名为"Column1"的列 删除第四列 删除第三行 禁止用户改变DataGridView1的所有列的列宽 禁止用户改变DataGridView1的所有行的行高 允许用户改变DataGridView1的所有列的列宽 允许用户改变DataGridView1的所有行的行高 禁止用户改变DataGridView1的第一列的列宽 禁止用户改变DataGridView1的第一列的行宽 第一列的最小列宽设定为 100 第一行的最小行高设定为 50 禁止用户改变列头的高度 禁止用户改变行头的宽度 设定包括Header和所有单元格的列宽自动调整 设定包括Header和所有单元格的行高自动调整 第一列自动调整 设定列头的宽度可以自动调整 设定行头的宽度可以自动调整 让 DataGridView1 的所有列宽自动调整一下。 让 DataGridView1 的第三列的列宽自动调整一下。 让 DataGridView1 的所有行高自动调整一下。 让 DataGridView1 的第一行的行高自动调整一下。 列头高度自动调整 行头宽度自动调整 DataGridView1的左侧2列固定 DataGridView1 的上3行固定 改变DataGridView1的第一列列头内容 改变DataGridView1的第一行行头内容 改变DataGridView1的左上头部单元内容 改变DataGridView1的第二列列头内容 当前单元格是否选择的判断 获取剪切板的内容,并按行分割 是否是列头 按 Tab 分割数据 行头设定 单元格内容设定 DataGridView的行索引+1 设定单元格的ToolTip内容 设定列头的单元格的ToolTip内容 设定行头的单元格的ToolTip内容 DataGridView 的 ContextMenuStrip 设定 列的 ContextMenuStrip 设定 列头的 ContextMenuStrip 设定 行的 ContextMenuStrip 设定 单元格的 ContextMenuStrip 设定 列头的ContextMenuStrip设定 行头的ContextMenuStrip设定 如果单元格值是整数时 当"Column1"列是Bool型且为True时、设定其的ContextMenuStrip 如果单元格是“Column1”列的单元格 将单元格值改为大写 应用该Format,Format完毕。 单元格列为“Column2”时 将单元格值设为大写 解析完毕 设定单元格的默认值 单元格值为负整数时,Error图标被表示。 行的错误提示的设定 验证通过的话,则清空行的错误提示
C#代码
using?System; ??
using?System.Collections.Generic; ??
using?System.ComponentModel; ??
using?System.Data; ??
using?System.Drawing; ??
using?System.Text; ??
using?System.Windows.Forms; ??
??
??
??
using?System.Data.OracleClient; ??
??
??? ??
using?System.IO;?? ??
using?System.Data.OleDb;? ??
??
namespace?TestMouseMove ??
{ ??
????public?partial?class?Form3?:?Form ??
????{ ??
????????public?Form3() ??
????????{ ??
????????????InitializeComponent(); ??
????????????dgvLoad(); ??
????????} ??
??
????????{ ??
????????????this.DataGridView1.Columns[0].HeaderCell.Value?=?"姓名"; ??
????????????this.DataGridView1.Columns[1].HeaderCell.Value?=?"字段2"; ??
????????????this.DataGridView1.Columns[2].HeaderCell.Value?=?"字段3"; ??
????????????this.DataGridView1.Columns[3].HeaderCell.Value?=?"字段4"; ??
????????????this.DataGridView1.Columns[4].HeaderCell.Value?=?"字段5"; ??
??
????????????this.DataGridView1.Rows.Add("黑色头发",?"1行2列",?"1行3列",?"1行4列",?"1行5列"); ??
????????????this.DataGridView1.Rows.Add("紫色头发",?"2行2列aaaa",?"2行3列",?"2行4列",?"2行5列"); ??
????????????this.DataGridView1.Rows.Add("蓝色头发",?"3行2列",?"3行3列",?"3行4列",?"3行5列"); ??
????????????this.DataGridView1.Rows.Add("红色头发",?"4行2列",?"4行3列",?"4行4列",?"4行5列"); ??
????????????this.DataGridView1.Rows.Add("棕色头发",?"5行2列",?"5行3列",?"5行4列",?"5行5列"); ??
??
????????????DataGridView1.ShowCellErrors?=?true; ??
????????????//设定?(0,?0)?的单元格表示?Error图标 ??
????????????DataGridView1[3,?3].ErrorText?=?"这是单元格提示错误信息,也可以再行头显示这个错误提示信息"; ??
??
????????????//设定第4行(Index=3)的行头显示Error图标 ??
????????????//DataGridView1.Rows[0].ErrorText?=?"不能输入负值。"; ??
????????} ??
??
????????private?void?button1_Click(object?sender,?EventArgs?e) ??
????????{ ??
????????????//?设定?(1,?2)?为当前单元格 ??
????????????DataGridView1.CurrentCell?=?DataGridView1[1,?2];???????????? ??
????????} ??
??
????????private?void?button2_Click(object?sender,?EventArgs?e) ??
????????{ ??
剩余20页未读,继续阅读
- 粉丝: 0
- 资源: 4
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 李兴华Java基础教程:从入门到精通
- U盘与硬盘启动安装教程:从菜鸟到专家
- C++面试宝典:动态内存管理与继承解析
- C++ STL源码深度解析:专家级剖析与关键技术
- C/C++调用DOS命令实战指南
- 神经网络补偿的多传感器航迹融合技术
- GIS中的大地坐标系与椭球体解析
- 海思Hi3515 H.264编解码处理器用户手册
- Oracle基础练习题与解答
- 谷歌地球3D建筑筛选新流程详解
- CFO与CIO携手:数据管理与企业增值的战略
- Eclipse IDE基础教程:从入门到精通
- Shell脚本专家宝典:全面学习与资源指南
- Tomcat安装指南:附带JDK配置步骤
- NA3003A电子水准仪数据格式解析与转换研究
- 自动化专业英语词汇精华:必备术语集锦