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相关推荐

  1. 关于C# Winform DataGridView 设置DefaultCellStyle无效的原因与解决方案

    上周在开发Winform 项目中,我曾遇到一个看似简单,但一直都没有解决的问题,那就是:设置winform DataGridView控件的行DefaultCellStyle,但却没有任何变化,我也曾求 ...

  2. Winform Datagridview 单元格html格式化支持富文本

    Winform Datagridview 单元格html格式化支持富文本 示例: 源码:https://github.com/OceanAirdrop/DataGridViewHTMLCell 参考: ...

  3. C# winform DataGridView 常见属性

    C# winform DataGridView 常见属性 C# winform DataGridView 属性说明 ① 取得或者修改当前单元格的内容 ② 设定单元格只读 ③ 不显示最下面的新行 ④ 判 ...

  4. WinForm DataGridView 绑定泛型List(ListT)/ArrayList不显示的原因和解决

    背景:无意间遇到了一个不大不小的问题,希望对一些遇到的人有所帮助! 一.问题 WinForm DataGridView 绑定泛型List (List<T>)/ArrayList不显示,UI ...

  5. C# WinForm dataGridView 技巧小结

    C# WinForm dataGridView 技巧小结 1.不显示第一个空白列 RowHeaderVisible属性设置为false 2.点击cell选取整行 SelectinModel 属性Ful ...

  6. [Winform]DataGridView列自适应宽度

    引言 在做winform项目中,数据控件DataGridView的使用多多少少是会用到的,如果不设置它的属性,默认情况下是不会自适应宽度的,你想查看某项的数据,就不得不将标题栏拖来拖去,挺烦的. 方法 ...

  7. Winform datagridview相关操作

    datagridview显示行号的2种方法: 方法一: 网上最常见的做法是用DataGridView的RowPostPaint事件在RowHeaderCell中绘制行号: privatevoiddat ...

  8. WinForm dataGridView连接Access数据库

    - 软件版本信息: VS2017 Access专业增强版2016 ps: Access版本查看[文件]--[账户] - 连接步骤: 新建一个数据库,以Access为例,命名为**.accdb或**.m ...

  9. Winform DataGridView根据一列排序

    今天项目中有个需求,需要对Winform的表格DataGridView根据某一列排序. 网上找到了方法:http://csharp.net-informations.com/datagridview/ ...

  10. Winform DataGridView列的单元格中动态添加图片和文字

    先上图在说,第二列中图片和文字的样式 1.需要重写DataGridViewTextBoxColumn,新建类TextAndImageColumn.cs 1 using System; 2 using ...

最新文章

  1. (已解决)AttributeError: ‘PrecisionRecallDisplay‘ has no attribute ‘from_predictions‘以及查看sklearn版本
  2. 数组反向遍历ios_iOS中数组遍历的方法及比较
  3. Thread class vs Runnnable interface(转)
  4. SAP Spartacus需要补充url validation单元测试的地方
  5. Linux系统的基本安装
  6. http://mirrors.aliyuncs.com/centos/7/extras/x86_64/repodata/repomd.xml: [Errno 12] Timeout on http:/
  7. json字符串,JSON对象,JSON数组的区别与相互转换
  8. import 导入模块学习
  9. python获取指定字符串中重复模式最高的字符串
  10. 组态王与三菱PLC编程软件GXWorks2通过OPC数据库进行动态仿真,只要写三菱程序即可实现组态王动态画面
  11. 端午百望山爬山活动-金山词霸运营团队活动
  12. linux 光功率 模块_光模块基本参数-消光比/光功率/灵敏度
  13. x86_64 gnu/linux,linux版本信息以及x86与x86_64的差别
  14. Powerdesigner(16.6) 导出漂亮的word(实用型)
  15. 简单的网页制作期末作业——电影泰坦尼克号(4页)
  16. LeetCode·718.最长重复子数组·动态规划
  17. mount:special device does not exist (a path prefix is not a directory)
  18. 有符号整型加法与乘法
  19. Android 8.0学习(32)---Android 8.0源码目录结构详解
  20. 总结一下这两天的学习笔记

热门文章

  1. 若有代数式,则以下能够正确表示该代数式的c语言表达是是 07年4月,2007年4月全国计算机等级考试二级笔试试卷...
  2. mysql时间相减得到毫秒值_Mysql 字符串、时间、时间戳相互转换,相减获取秒数...
  3. nslookup命令dns请求超时_网络工程师之nslookup命令
  4. mysql给数据库重命令_mysql 重命令数据库
  5. laravel批量插入报错:1292: Incorrect datetime value: '0000-00-00 00:00:00' for column 'TERM_DATE'
  6. 成功入职字节跳动!2021年冲刺年薪40w
  7. 【编译原理】词法分析和语法分析两万字全总结(这知识它不进脑子啊~!)
  8. 2 resize 到指定大小_阿里巴巴为什么让初始化集合时必须指定大小?
  9. uwsgi模式_nginx+uwsgi 和nginx+gunicorn区别、如何部署
  10. srm linux字符界面,如何使用srm安全的删除Linux中的文件