Winform-DataGridView

时间:2022-11-04 15:44:24

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&num; Winform DataGridView 设置DefaultCellStyle无效的原因与解决方案

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

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

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

  3. WinForm DataGridView 绑定泛型List&lpar;List&lt&semi;T&gt&semi;&rpar;&sol;ArrayList不显示的原因和解决

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

  4. C&num; winform DataGridView 常见属性

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

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

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

  6. &lbrack;WinForm&rsqb;DataGridView列头右键菜单

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

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

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

  8. &lbrack;转&rsqb;WinForm DataGridView 绑定泛型List&lpar;List&lt&semi;T&gt&semi;&rpar;&sol;ArrayList不显示的原因和解决

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

  9. WinForm DataGridView分页功能

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

  10. &lbrack;Winform&rsqb;DataGridView列自适应宽度

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

随机推荐

  1. GoldenGate Studio 12&period;2&period;1&period;1发布

    OGG studio是一款图形化OGG配置部署产品,其主要特性:1. 逻辑层面设计OGG,不需要了解OGG细节:2. 最值实践加快常用场景的配置:3. 使用拖拉映射,自动匹配源和目标对象:4. 一键部 ...

  2. 23&period; Sum Root to Leaf Numbers

    Sum Root to Leaf Numbers Given a binary tree containing digits from 0-9 only, each root-to-leaf path ...

  3. CSS3伪类

    1.:last-child 比如:查找ul的最后一个li ul li:last-child { //样式 } 2.:first-child 比如:查找ul的第一个li ul li:first-chil ...

  4. &lbrack;译&rsqb;LINT TO SQL 介绍&lpar;数据库查询&rpar; - Part&period;3

    出处:Linq To Sql (Part.3 – Querying our database) 术语表 Built-in:内置的 Clause:子句 Debugger:调试器 Object Relat ...

  5. MySQL中用户授权&sol;删除授权的方法

    用户授权方法 你可以通过发出GRANT语句增加新用户:  代码如下 复制代码 shell> mysql --user=root mysql mysql> GRANT ALL PRIVILE ...

  6. SPSS时间序列分析

    时间序列分析必须建立在预处理的基础上…… 今天看了一条新闻体会到了网络日志的重要性…… 指数平滑法(Exponential Smoothing,ES)是布朗(Robert G..Brown)所提出,布 ...

  7. FORTH运算符

    body, table{font-family: 微软雅黑} table{border-collapse: collapse; border: solid gray; border-width: 2p ...

  8. Egret学习笔记 &lpar;Egret打飞机-4&period;添加主角飞机和实现飞行效果&rpar;

    今天继续写点击了开始之后,添加一个飞机到场景中,然后这个飞机的尾巴还在冒火的那种感觉 先拆解一下步骤 1.首先完成飞机容器的图片加载 2.然后把容器添加到场景中 3.然后实现动画 -首先,我们新建一个 ...

  9. 关于el-upload上传

    <el-upload class="edit-input-upload" :action="config.baseUrl + '/joinus/candidate/ ...

  10. modbus调试工具

    1,简介 网站地址:http://www.modbustools.com/ 该网站提供了几个软件工具,可以运行于windows 2000/XP/Vista/7环境下,用来测试和仿真Modebus设备. ...