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

Winform-DataGridView的更多相关文章

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

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

  2. C#实现WinForm DataGridView控件支持叠加数据绑定

    我们都知道WinForm DataGridView控件支持数据绑定,使用方法很简单,只需将DataSource属性指定到相应的数据源即可,但需注意数据源必须支持IListSource类型,这里说的是支 ...

  3. WinForm DataGridView 绑定泛型List(List<T>)/ArrayList不显示的原因和解决

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

  4. C# winform DataGridView 常见属性

    C# winform DataGridView 属性说明① 取得或者修改当前单元格的内容 ② 设定单元格只读 ③ 不显示最下面的新行 ④ 判断新增行 ⑤ 行的用户删除操作的自定义 ⑥ 行.列的隐藏和删 ...

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

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

  6. [WinForm]DataGridView列头右键菜单

    [WinForm]DataGridView列头右键菜单 前言 继续"不误正业" - - #,记录一下.有时候有这样的需求:DataGridView的列头菜单可以选择具体显示哪些列, ...

  7. winform datagridview 绑定泛型集合变得不支持排序的解决方案

    原文:winform datagridview 绑定泛型集合变得不支持排序的解决方案 案例: 环境:Winform程序 控件:Datagridview 现象:Datagridview控件绑定到List ...

  8. [转]WinForm DataGridView 绑定泛型List(List<T>)/ArrayList不显示的原因和解决

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

  9. WinForm DataGridView分页功能

    WinForm 里面的DataGridView不像WebForm里面的GridView那样有自带的分页功能,需要自己写代码来实现分页,效果如下图: 分页控件  .CS: 1 using System; ...

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

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

随机推荐

  1. dubbo源码之Directory与LoadBalance

    Directory: 集群目录服务Directory, 代表多个Invoker, 可以看成List<Invoker>,它的值可能是动态变化的比如注册中心推送变更.集群选择调用服务时通过目录 ...

  2. 用mybatis做数据库处理 代码中的字段大小写 要和mapper映射设置的大小写一致(这TM不废话么,原谅我渣!~~)

    简单描述情况:其实这个问题怎么说呢,有人给你说,你肯定能意识到,必须大小写对应的嘛.emmmm我现在才意识到是因为:自己在下边敲代码,配的mapper文件并没有把属性变量,和数据库里的段单独提出来做映 ...

  3. laravel 兜底路由

    在 Laravel 5.6 中,引入了兜底路由功能.所谓兜底路由,就是当路由文件中定义的所有路由都无法匹配用户请求的 URL 时,用来处理用户请求的路由,在此之前,Laravel 都会通过异常处理器为 ...

  4. hdu4276 依赖背包

    网上题解都是用spfa求1-n路径的,但其实dfs一次就可以了.. #include <iostream> #include <cstdio> #include <str ...

  5. Appium 常用方法总结 (python 版)

    1.app后台运行 driver.background_app(5) 2.锁屏 driver.lock(5) 3.隐藏键盘 driver.hide_keyboard() 4.启动一个app或者在当前a ...

  6. jenkins 实现测试发布、预发布、真实发布、回滚发布

    主要思路: 1.做三个文件夹,用于放置不可随意修改的配置文件(测试发布.预发布.真实发布) 2.每次都先修改配置文件再进行构建(构建时会先把配置文件复制到构建的目录,再同步到发布的目录) 3.发布完代 ...

  7. MyEclipes相关配置

    0. MyEclipes10 相关下载资源(私人珍藏版) 链接:http://pan.baidu.com/s/1eSIdObS密码:0cjy 1. myEclipes连接Tomcat http://w ...

  8. jetbrains全系列可用例:IDEA、WebStorm、phpstorm、clion等激活到2099

    破解补丁激活 之前看了好多的其它的方法感觉都不是很靠谱还是这个本人亲试可以长期有效不仅能激活pycharm.jetbrains全系列可用例:IDEA.WebStorm.phpstorm.clion等激 ...

  9. 目标检测算法之YOLOv1与v2

    YOLO:You Only Look Once(只需看一眼) 基于深度学习方法的一个特点就是实现端到端的检测,相对于其他目标检测与识别方法(如Fast R-CNN)将目标识别任务分成目标区域预测和类别 ...

  10. Django中间件 及 form 实现用户登陆

    Django中间件 及 form 实现用户登陆 Form 验证 密码调用md5 加密存储 form.add_error("字段名", "错误信息") 自定义错误 ...