代码修改WinForm datagridview 样式 及数据绑定
#region 表格设置
/// <summary>
/// 调整表格
/// </summary>
/// <param name="dataGrid"></param>
private void AdjustDataGridView(DataGridView dataGrid)
{
//设置背景颜色
dataGrid.BackgroundColor = Color.White;
//去边框
dataGrid.BorderStyle = BorderStyle.None;
dataGrid.CellBorderStyle = DataGridViewCellBorderStyle.None;
dataGrid.ColumnHeadersBorderStyle = DataGridViewHeaderBorderStyle.None;
//禁止表头点击排序
for (int i = ; i < dataGrid.Columns.Count; i++)
{
dataGrid.Columns[i].SortMode = DataGridViewColumnSortMode.NotSortable;
}
//调整表头
dataGrid.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing;
dataGrid.ColumnHeadersHeight = ;
dataGrid.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.DisableResizing;
//调整行高
dataGrid.RowTemplate.Height = ;
dataGrid.EnableHeadersVisualStyles = false;
//表头样式设置
dataGrid.ColumnHeadersDefaultCellStyle = new DataGridViewCellStyle()
{
BackColor = System.Drawing.ColorTranslator.FromHtml("#FFFAFAFA"),
ForeColor = ColorTranslator.FromHtml("#FF999999"),
Padding = new Padding() { Left = },
Font = new Font("微软雅黑", 10.5F, FontStyle.Regular, GraphicsUnit.Point, )
};
//单元格样式
dataGrid.DefaultCellStyle = new DataGridViewCellStyle()
{
ForeColor = ColorTranslator.FromHtml("#FF333333"),
Padding = new Padding() { Left = },
Font = new Font("微软雅黑", 10.5F, FontStyle.Regular, GraphicsUnit.Point, )
};
//列填充整个表格
dataGrid.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill;
//禁止用户添加行
dataGrid.AllowUserToAddRows = false;
//禁止显示行头
dataGrid.RowHeadersVisible = false;
//点击选择整行
dataGrid.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
//禁止调整列宽
dataGrid.AllowUserToResizeColumns = false;
//禁止调整行高
dataGrid.AllowUserToResizeRows = false;
//禁止删除行
dataGrid.AllowUserToDeleteRows = false;
//禁止手动定位
dataGrid.AllowUserToOrderColumns = false;
//禁用编辑
dataGrid.ReadOnly = true;
//去掉多余列
dataGrid.AutoGenerateColumns = false;
}
//生成普通表头
private void CreateDataGridTextBoxColumnHeader(DataGridView dg, string[] headers)
{
foreach (var h in headers)
{
DataGridViewTextBoxColumn dc = new DataGridViewTextBoxColumn()
{
Name = h
};
dg.Columns.Add(dc);
}
}
//生成操作列(可点击的列)
private void CreateDataGridLinkButtonHeader(DataGridView dg, string[] headers)
{
for (int i = ; i < headers.Length; i++)
{
DataGridViewLinkColumn dc = new DataGridViewLinkColumn()
{
Name = headers[i],
LinkBehavior = LinkBehavior.NeverUnderline
};
dg.Columns.Add(dc);
}
}
/// <summary>
/// 表格数据绑定
/// </summary>
/// <param name="source"></param>
private void DataGridBinds(DataGridView dg, object source, string[] headerText, string[] properts)
{
//if (source is DataTable)
//{
// DataTable dt = source as DataTable;
// if (dt.Rows.Count > 0)
// {
// }
//}
//else
//{
//}
CreateDataGridTextBoxColumnHeader(dg, headerText);
CreateDataGridLinkButtonHeader(dg, new string[] { "操作" });
AdjustDataGridView(dg);
for (int i = ; i < dg.Columns.Count; i++)
{
try
{
dg.Columns[i].DataPropertyName = properts[i];
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
break;
}
}
dg.DataSource = source;
}
#endregion
选中表格行不改变背景色
private void dgRegistDev_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
{
e.CellStyle.SelectionForeColor = e.CellStyle.ForeColor;
e.CellStyle.SelectionBackColor = e.CellStyle.BackColor;
}
代码修改WinForm datagridview 样式 及数据绑定的更多相关文章
- DataGridView样式生成器使用说明
啥都不说先看图 一. 功能介绍 1. winform DataGridView样式代码可视化即时生成,所见即所得 2. 预置DataGridView样式代码方案 预置三 ...
- 装饰者模式的学习(c#) EF SaveChanges() 报错(转载) C# 四舍五入 保留两位小数(转载) DataGridView样式生成器使用说明 MSSQL如何将查询结果拼接成字符串 快递查询 C# 通过smtp直接发送邮件 C# 带参访问接口,WebClient方式 C# 发送手机短信 文件 日志 写入 与读取
装饰者模式的学习(c#) 案例转自https://www.cnblogs.com/stonefeng/p/5679638.html //主体基类 using System;using System.C ...
- Winform开发常用控件之DataGridView的简单数据绑定——代码绑定DataSet、DataTable、IList、SqlDataReader
前文介绍了Winform为DataGridView提供的数据自动绑定功能,下面介绍一下采用代码的数据绑定 1.用DataSet和DataTable为DataGridView提供数据源 先上代码 pri ...
- C#实现WinForm DataGridView控件支持叠加数据绑定
我们都知道WinForm DataGridView控件支持数据绑定,使用方法很简单,只需将DataSource属性指定到相应的数据源即可,但需注意数据源必须支持IListSource类型,这里说的是支 ...
- WinForm DataGridView双向数据绑定
程序目标: 实现DataGridView与BindingList<T>双向绑定.用户通过DataGridView修改值后立即更新BindList对象的值,代码修改BindList后立即更新 ...
- 关于C# Winform DataGridView 设置DefaultCellStyle无效的原因与解决方案
上周在开发Winform 项目中,我曾遇到一个看似简单,但一直都没有解决的问题,那就是:设置winform DataGridView控件的行DefaultCellStyle,但却没有任何变化,我也曾求 ...
- C# winform DataGridView 常见属性
C# winform DataGridView 属性说明① 取得或者修改当前单元格的内容 ② 设定单元格只读 ③ 不显示最下面的新行 ④ 判断新增行 ⑤ 行的用户删除操作的自定义 ⑥ 行.列的隐藏和删 ...
- Spring+SpringMVC+MyBatis整合进阶篇(四)RESTful实战(前端代码修改)
前言 前文<RESTful API实战笔记(接口设计及Java后端实现)>中介绍了RESTful中后端开发的实现,主要是接口地址修改和返回数据的格式及规范的修改,本文则简单介绍一下,RES ...
- WinForm DataGridView 绑定泛型List(List<T>)/ArrayList不显示的原因和解决
背景:无意间遇到了一个不大不小的问题,希望对一些遇到的人有所帮助! 一.问题 WinForm DataGridView 绑定泛型List (List<T>)/ArrayList不显示,UI ...
随机推荐
- Web版记账本开发记录(一)代码和功能展示
一丶基本机构 数据库截图 record表 年份表 index.jsp <%@ page language="java" contentType="text/html ...
- oracle12c
12c和11g环境是一样的,请参考前面 一.设置环境变量 vim /home/oracle/.bashrc ORACLE_BASE=/data/app/oracle ORACLE_HOME=$ORAC ...
- 移动端无法复制:使用clipboard.js碰到的一个小问题
移动端无法复制:使用clipboard.js碰到的一个小问题 直接看下面的代码:在移动端访问,点击,能正常复制. <html> <head> <meta http-e ...
- lcr电桥浅谈
此图告知,现代的lcr电桥使用的都是虚地,阻抗很高. 系统采用的鉴相器比较简单,是检半个正弦基波(RMS有效值积分),可以有效抵御偶次基波. 倒不如直接使用运放电容移相,比较采样法直接采样最高点. 此 ...
- day24:继承
1,复习1 # 面向对象编程 # 思想:角色的抽象,创建类,创建角色(实例化),操作这些示例 # 面向对象的关键字 class 类名: 静态属性 = 'aaa' def __init__(self): ...
- js自定义格式化时间戳的格式
题目为 : 写一个模块,外部调用这个模块,请求参数是时间戳,模块要求 今天的时间,统一用24小时写作 03:00.15:04 昨天的时间,统一写昨天 昨天之前的时间,但在本周之内的时间,统一用周一.周 ...
- anaconda安装tensorflow报错 No module named 'tensorflow'解决方法(windows)
这个错误的原因可能是,anaconda安装的python版本为3.7,现在tensorflow仅支持python 3.6 改变python版本:首先在命令行创建一个名为python36的环境,指定 ...
- 读书笔记一【哈希——MD5】
计算机中,将某种数据转换成指定范围内的数字数字或字母叫做哈希(散列.hashing) 哈希后的值无法像加密解密那样恢复为原文值,通常用于文件校验或数字签名等 好的散列算法应具有: 充分利用所有数据位 ...
- Python字符串常用方法(一)
一.字符串的判断常用方法 字符串的字母,数字,大小写,空格等的判断 1.string. isalnum() :(字母数字判断) 如果 string 至少有一个字符并且所有字符都是字母或数字则返回 Tr ...
- 解决安装TensorFlow GPU缺少文件的一个比较终极的办法
可能的报错信息 TensorFlow 下,导入这份配置的时候 python 停止运行 ImportError: DLL load failed: 找不到指定的模块 或 ImportError: No ...