WinForm 控件 DataGridView 常用操作
1、取消列自动生成
在窗体load
事件里面设置表格dataGridView的AutoGenerateColumns
为 false
dataGridView.AutoGenerateColumns = false
2、取消所有选中单元格
调用方法ClearSelection
dataGridView.ClearSelection()
3、单元格自动换行显示
设置DefaultCellStyle
里面的WarapMode
属性为 true
4、行显示高度自动调节
设置属性 AutoSizeRowMode
为 DisplayedCellsExceptHeaders
设置方法AutoResizeColumns
dataGridView.AutoSizeRowsMode=DataGridViewAutoSizeRowsMode.DisplayedCellsExceptHeaders
dataGridView.AutoResizeColumns();
5、首列添加序号
表格RowPostPaint
事件
private void dataGridView_RowPostPaint(object sender, DataGridViewRowPostPaintEventArgs e)
{
//获取行对象
var row = dataGridView.Rows[e.RowIndex];
//对行的第一列value赋值
row.Cells[0].Value = row.Index + 1;
}
6、行头绘制图片
表格RowPostPaint
事件绘制图片或者数字
private void dataGridView_RowPostPaint(object sender, DataGridViewRowPostPaintEventArgs e)
{
//读取要显示的图片
Image img = Properties.Resources.img
//绘制图标,图标绘制的坐标位置可自己调节
e.Graphics.DrawImage(img, e.RowBounds.Left + dataGridView.RowHeadersWidth - 40, e.RowBounds.Top + 4, 16, 16);
}
7、转换单元格显示
在表格的CellFormatting
事件里面进行转换操作,比如一个状态字段是int类型,显示需要转换成对应的字符串显示。
private void dataGridView_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
{
//转换第一列
if (e.ColumnIndex == 0)
{
//取得行
var row = dataGridView.Rows[e.RowIndex];
//取得列值,如果是绑定的数据,可以将row.DataBoundItem转换成绑定对象再取值判断
var cell=row.cell[0].value.ToString();
string grad = "";
if cell == "1")
grad = "A";
else if (cell == "2")
grad = "B";
else if (cell == "3")
grad = "C";
else if (cell == "4")
grad = "D";
else if (cell == "5")
grad = "E";
e.Value = grad;
}
}
8、右键选中单元格
在表格的CellMouseDown
事件里面设置选中行
private void dataGridView_CellMouseDown(object sender, DataGridViewCellMouseEventArgs e)
{
if (e.Button == MouseButtons.Right && e.RowIndex > -1 && e.ColumnIndex > -1)
{
dataGridView.CurrentRow.Selected = false;
dataGridView.Rows[e.RowIndex].Selected = true;
}
}
9、修改单元格值,单行刷新重绘
//dgvBook.SelectedRows[0].Index 为要刷新的行号
dataGridView.InvalidateRow(dgvBook.SelectedRows[0].Index);
作者:孙泉
出处:https://www.cnblogs.com/SunSpring/p/15407629.html
如果你喜欢文章欢迎点击推荐,你的鼓励对我很有用!
本文版权归作者所有,转载需在文章页面明显位置给出原文链接。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)