Winform-DataGridView
Winform-DataGridView
1 常用属性
// 1.点击后的选中模式 this.dgv.SelectionMode = DataGridViewSelectionMode.FullRowSelect;// 2.不显示首列this.dgv.RowHeadersVisible = false;// 3.设置单元格行高this.dgv.RowTemplate.Height = 50;// 4.设置是否显示列标题this.dgv.ColumnHeadersVisible = false;// 5.设置单个单元格的背景色 字体颜色this.dgv.Rows[1].Cells[1].Style.BackColor = Color.Green;this.dgv.Rows[1].Cells[1].Style.ForeColor = Color.Red;// 6.隔行换颜色this.dgv.RowsDefaultCellStyle.BackColor = Color.LightBlue;this.dgv.AlternatingRowsDefaultCellStyle.BackColor = Color.LightCyan;// 7.设置列显示位置this.dgv.Columns["ids"].DisplayIndex = 0;// 8.列冻结this.dgv.Columns["ids"].Frozen = true;// 9.文本对其方式// 10.列标题居中this.dgv.DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;this.dgv.ColumnHeadersDefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;// 11.单元格值为Null时的默认值this.dgv.DefaultCellStyle.NullValue = "IsNull";// 12.单元格边框样式this.dgv.CellBorderStyle = DataGridViewCellBorderStyle.None;// 13.数据样式this.dgv.Columns["Price"].DefaultCellStyle.Format = "C3"; //货币格式,保留3位小数// 14.取消多选this.dgv.MultiSelect = false;// 15.设置选中行this.dgv.Rows[2].Selected = true;// 17.选中单元格后的背景色this.dgvO.DefaultCellStyle.SelectionBackColor = Color.Black;
2 常用方法
// 1.排序this.dgv.Sort(dgv.Columns[3], ListSortDirection.Ascending);// 2.当前单元格内容string value = this.dgv.CurrentCell.Value.ToString();
3 添加列
DataGridViewButtonColumn col = new DataGridViewButtonColumn();col.Text = col.Name = "Delete";col.UseColumnTextForButtonValue = true; // Button text 显示 Text值this.dgv.Columns.Add(col); //添加到最后边this.dgv.Columns.Insert(index,col); //添加到指定列
4 获取 DataGridViewCheckBoxColumn 选中项
注意:当添加DataGridViewCheckBoxColumn 列时,需要勾选 Enable Editing,否则不能选中
List<string> listIds = new List<string>();for (int i = 0; i < dgv.Rows.Count; i++){if (dgv.Rows[i].Cells[0].EditedFormattedValue.ToString().ToLower().Equals("true")){listIds.Add(this.dgv.Rows[i].Cells["ids"].Value.ToString());}}string str= string.Join(";", listIds.ToArray());MessageBox.Show(str);
5 DataGridViewButtonColumn 列按钮点击事件
private void dgv_CellClick(object sender, DataGridViewCellEventArgs e){if (e.RowIndex <= -1) return; //异常处理,如果是第一行的话if (this.dgv.Columns[e.ColumnIndex].HeaderText == "Delete"){string str = this.dgv.Rows[e.RowIndex].Cells["ids"].Value.ToString();MessageBox.Show("Delete:" + str);}}
6 正常显示图片
//获取 Image类的实例,并修改图片的显示方式DataGridViewImageColumn col = dgv.Columns["Image"] as DataGridViewImageColumn;col.ImageLayout = DataGridViewImageCellLayout.Zoom;//修改行高来设置高度this.dgv.RowTemplate.Height = 60;this.dgv.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells;
7.换行显示
设置属性:
this.dgv.DefaultCellStyle.WrapMode = DataGridViewTriState.True;
在需要换行的地方添加:Environment.NewLine
转载于:https://www.cnblogs.com/-Tiger/p/7828058.html
Winform-DataGridView相关推荐
- 关于C# Winform DataGridView 设置DefaultCellStyle无效的原因与解决方案
上周在开发Winform 项目中,我曾遇到一个看似简单,但一直都没有解决的问题,那就是:设置winform DataGridView控件的行DefaultCellStyle,但却没有任何变化,我也曾求 ...
- Winform Datagridview 单元格html格式化支持富文本
Winform Datagridview 单元格html格式化支持富文本 示例: 源码:https://github.com/OceanAirdrop/DataGridViewHTMLCell 参考: ...
- C# winform DataGridView 常见属性
C# winform DataGridView 常见属性 C# winform DataGridView 属性说明 ① 取得或者修改当前单元格的内容 ② 设定单元格只读 ③ 不显示最下面的新行 ④ 判 ...
- WinForm DataGridView 绑定泛型List(ListT)/ArrayList不显示的原因和解决
背景:无意间遇到了一个不大不小的问题,希望对一些遇到的人有所帮助! 一.问题 WinForm DataGridView 绑定泛型List (List<T>)/ArrayList不显示,UI ...
- C# WinForm dataGridView 技巧小结
C# WinForm dataGridView 技巧小结 1.不显示第一个空白列 RowHeaderVisible属性设置为false 2.点击cell选取整行 SelectinModel 属性Ful ...
- [Winform]DataGridView列自适应宽度
引言 在做winform项目中,数据控件DataGridView的使用多多少少是会用到的,如果不设置它的属性,默认情况下是不会自适应宽度的,你想查看某项的数据,就不得不将标题栏拖来拖去,挺烦的. 方法 ...
- Winform datagridview相关操作
datagridview显示行号的2种方法: 方法一: 网上最常见的做法是用DataGridView的RowPostPaint事件在RowHeaderCell中绘制行号: privatevoiddat ...
- WinForm dataGridView连接Access数据库
- 软件版本信息: VS2017 Access专业增强版2016 ps: Access版本查看[文件]--[账户] - 连接步骤: 新建一个数据库,以Access为例,命名为**.accdb或**.m ...
- Winform DataGridView根据一列排序
今天项目中有个需求,需要对Winform的表格DataGridView根据某一列排序. 网上找到了方法:http://csharp.net-informations.com/datagridview/ ...
- Winform DataGridView列的单元格中动态添加图片和文字
先上图在说,第二列中图片和文字的样式 1.需要重写DataGridViewTextBoxColumn,新建类TextAndImageColumn.cs 1 using System; 2 using ...
最新文章
- (已解决)AttributeError: ‘PrecisionRecallDisplay‘ has no attribute ‘from_predictions‘以及查看sklearn版本
- 数组反向遍历ios_iOS中数组遍历的方法及比较
- Thread class vs Runnnable interface(转)
- SAP Spartacus需要补充url validation单元测试的地方
- Linux系统的基本安装
- http://mirrors.aliyuncs.com/centos/7/extras/x86_64/repodata/repomd.xml: [Errno 12] Timeout on http:/
- json字符串,JSON对象,JSON数组的区别与相互转换
- import 导入模块学习
- python获取指定字符串中重复模式最高的字符串
- 组态王与三菱PLC编程软件GXWorks2通过OPC数据库进行动态仿真,只要写三菱程序即可实现组态王动态画面
- 端午百望山爬山活动-金山词霸运营团队活动
- linux 光功率 模块_光模块基本参数-消光比/光功率/灵敏度
- x86_64 gnu/linux,linux版本信息以及x86与x86_64的差别
- Powerdesigner(16.6) 导出漂亮的word(实用型)
- 简单的网页制作期末作业——电影泰坦尼克号(4页)
- LeetCode·718.最长重复子数组·动态规划
- mount:special device does not exist (a path prefix is not a directory)
- 有符号整型加法与乘法
- Android 8.0学习(32)---Android 8.0源码目录结构详解
- 总结一下这两天的学习笔记
热门文章
- 若有代数式,则以下能够正确表示该代数式的c语言表达是是 07年4月,2007年4月全国计算机等级考试二级笔试试卷...
- mysql时间相减得到毫秒值_Mysql 字符串、时间、时间戳相互转换,相减获取秒数...
- nslookup命令dns请求超时_网络工程师之nslookup命令
- mysql给数据库重命令_mysql 重命令数据库
- laravel批量插入报错:1292: Incorrect datetime value: '0000-00-00 00:00:00' for column 'TERM_DATE'
- 成功入职字节跳动!2021年冲刺年薪40w
- 【编译原理】词法分析和语法分析两万字全总结(这知识它不进脑子啊~!)
- 2 resize 到指定大小_阿里巴巴为什么让初始化集合时必须指定大小?
- uwsgi模式_nginx+uwsgi 和nginx+gunicorn区别、如何部署
- srm linux字符界面,如何使用srm安全的删除Linux中的文件