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
Winform-DataGridView的更多相关文章
- 关于C# Winform DataGridView 设置DefaultCellStyle无效的原因与解决方案
上周在开发Winform 项目中,我曾遇到一个看似简单,但一直都没有解决的问题,那就是:设置winform DataGridView控件的行DefaultCellStyle,但却没有任何变化,我也曾求 ...
- C#实现WinForm DataGridView控件支持叠加数据绑定
我们都知道WinForm DataGridView控件支持数据绑定,使用方法很简单,只需将DataSource属性指定到相应的数据源即可,但需注意数据源必须支持IListSource类型,这里说的是支 ...
- WinForm DataGridView 绑定泛型List(List<T>)/ArrayList不显示的原因和解决
背景:无意间遇到了一个不大不小的问题,希望对一些遇到的人有所帮助! 一.问题 WinForm DataGridView 绑定泛型List (List<T>)/ArrayList不显示,UI ...
- C# winform DataGridView 常见属性
C# winform DataGridView 属性说明① 取得或者修改当前单元格的内容 ② 设定单元格只读 ③ 不显示最下面的新行 ④ 判断新增行 ⑤ 行的用户删除操作的自定义 ⑥ 行.列的隐藏和删 ...
- Winform Datagridview 单元格html格式化支持富文本
Winform Datagridview 单元格html格式化支持富文本 示例: 源码:https://github.com/OceanAirdrop/DataGridViewHTMLCell 参考: ...
- [WinForm]DataGridView列头右键菜单
[WinForm]DataGridView列头右键菜单 前言 继续"不误正业" - - #,记录一下.有时候有这样的需求:DataGridView的列头菜单可以选择具体显示哪些列, ...
- winform datagridview 绑定泛型集合变得不支持排序的解决方案
原文:winform datagridview 绑定泛型集合变得不支持排序的解决方案 案例: 环境:Winform程序 控件:Datagridview 现象:Datagridview控件绑定到List ...
- [转]WinForm DataGridView 绑定泛型List(List<T>)/ArrayList不显示的原因和解决
背景:无意间遇到了一个不大不小的问题,希望对一些遇到的人有所帮助! 一.问题 WinForm DataGridView 绑定泛型List (List<T>)/ArrayList不显示,UI ...
- WinForm DataGridView分页功能
WinForm 里面的DataGridView不像WebForm里面的GridView那样有自带的分页功能,需要自己写代码来实现分页,效果如下图: 分页控件 .CS: 1 using System; ...
- [Winform]DataGridView列自适应宽度
引言 在做winform项目中,数据控件DataGridView的使用多多少少是会用到的,如果不设置它的属性,默认情况下是不会自适应宽度的,你想查看某项的数据,就不得不将标题栏拖来拖去,挺烦的. 方法 ...
随机推荐
- PHP中json_encode()使用须知,JSON数组和JSON对象
⊰ 偷偷的告诉你,这是一个很不谨慎就会踩得坑 ⊱ 如下代码 (看了一下很简单,没毛病啊,老铁) $arr = array( '0'=>'a','1'=>'b','2'=>'c',' ...
- jsp 监听器
Servlet API提供了一系列的事件和事件监听接口. 上层的servlet/JSP应用能够通过调用这些API进行事件 驱动的开发.这里监听的所有事件都继承自 java.util.Event对象.监 ...
- Metasploit (二)
1.测试一台搭建的主机 msf > db_nmap -n -A 10.140.110.16[*] Nmap: Starting Nmap 7.60 ( https://nmap.org ) at ...
- java-HTML&javaSkcript&CSS&jQuery&ajax( 八)
一.JavaScript教程笔记 1.在web页面中一般使用JavaScript脚本语言,支持跨平台,跨浏览器,驱动网页,与用户交互.另外Node.js把JavaScript引入到了服务器端. Jav ...
- hdu4003
/*依赖背包的通常做法就是对于每个结点,先处理处其所有子节点的dp,然后对于当前结点进行分组背包dp即可 还是依赖背包问题,dp[i][j]表示结点i的子树用了j个机器人的搜索代价 边界条件,如果某个 ...
- 原码、补码、反码的概念和java数的存储方式
原码:用符号位和数值位表示一个带符号数,整数符号->0,负数符号->1,数值一般用二进制形式表示 [+10011]原=00010011 [-10011]原=10010011 反码:正 ...
- window下tomcat的内存溢出问题
打开注册表:https://jingyan.baidu.com/article/49ad8bce09d6085835d8fa63.html Tomcat 内存溢出对应解决方式 Windows平台,使用 ...
- typeof操作符--undefined与null
<!DOCTYPE html><html><head> <meta charset="utf-8"> <title>ty ...
- svn_linux + apache 实现网页访问svn
CentOS7:搭建SVN + Apache 服务器实现网页访问 1. 安装httpd 安装httpd服务: $ sudo yum install httpd 检查httpd是否安装成功: $ htt ...
- 解决ASP.NET MVC(post数据)Json请求太大,无法反序列化,而报【远程服务器返回错误: (500) 内部服务器错误】
1. 修改web.config文件可以改变这个默认值(上传1个G) <configuration> <system.web> <httpRuntime maxReques ...