#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 样式 及数据绑定的更多相关文章

  1. DataGridView样式生成器使用说明

    啥都不说先看图 一.       功能介绍 1.      winform DataGridView样式代码可视化即时生成,所见即所得 2.      预置DataGridView样式代码方案 预置三 ...

  2. 装饰者模式的学习(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 ...

  3. Winform开发常用控件之DataGridView的简单数据绑定——代码绑定DataSet、DataTable、IList、SqlDataReader

    前文介绍了Winform为DataGridView提供的数据自动绑定功能,下面介绍一下采用代码的数据绑定 1.用DataSet和DataTable为DataGridView提供数据源 先上代码 pri ...

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

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

  5. WinForm DataGridView双向数据绑定

    程序目标: 实现DataGridView与BindingList<T>双向绑定.用户通过DataGridView修改值后立即更新BindList对象的值,代码修改BindList后立即更新 ...

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

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

  7. C# winform DataGridView 常见属性

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

  8. Spring+SpringMVC+MyBatis整合进阶篇(四)RESTful实战(前端代码修改)

    前言 前文<RESTful API实战笔记(接口设计及Java后端实现)>中介绍了RESTful中后端开发的实现,主要是接口地址修改和返回数据的格式及规范的修改,本文则简单介绍一下,RES ...

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

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

随机推荐

  1. webpack打包 基础

    001.什么是webpack? 作用有哪些? WebPack可以看做是模块打包机:它做的事情是,分析你的项目结构,找到JavaScript模块以及其它的一些浏览器不能直接运行的拓展语言(Scss,Ty ...

  2. Linux服务器tomcat无法通过ip加端口访问

    Linux服务器tomcat无法通过ip加端口访问 防火墙开放端口 # Firewall configuration written by system-config-firewall# Manual ...

  3. Servlet的相关类--ServletConfig(接口)

    ServletConfig是一个接口,有关配置文件的 servlet的配置信息<---对应--->ServletConfig web.xml配置文件会被加载到内存中,然后解析器会对它进行解 ...

  4. 线性表->链式存储->线形链表(单链表)

    文字描述: 为了表示前后两个数据元素的逻辑关系,对于每个数据元素,除了存储其本身的信息之外(数据域),还需存储一个指示其直接后继的信息(即直接后继的存储位置,指针域). 示意图: 算法分析: 在单链表 ...

  5. Spring boot +mybatis 连接mysql数据库,获取JDBC失败,服务器时区价值”Oйu±e×¼e±¼的识别或代表多个时区

    报出的错误 Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connec ...

  6. dddquickly

    在项目开发最初的时候,他也有过一段狂欢般的快乐时光,不久之后,事情就越来越艰难. 项目的代码越来越难以维护,工作越来越像是一种煎熬,合作的同事对他越来越不满. “该是与这个项目,与这个公司说 bye ...

  7. Vue学习记录第一天

    今天开始了Vue的学习,下面我就记录一下学习了什么. 1.什么是Vue? vue是一套基于javaScript的渐进式框架,是MVVM框架.View ——ViewModel——Model  其中Vie ...

  8. vue跳转到外部链接

    <span @click="see('http://xxxx">点击跳转到xxx</span> 方法:(调用函数) See (e) { window.loc ...

  9. [Unity][安卓]Unity和Android Studio 3.0 交互通讯(1)Android Studio 3.0 设置

    [安卓]Android Studio 3.0 JDK安卓环境配置(2017.10) http://blog.csdn.net/bulademian/article/details/78387052 [ ...

  10. jq中get()和eq()的区别

    一直弄混淆的获取元素的方法,现整理一下: :eq(index) 选择器选取带有指定 index 值的元素. index 值从 0 开始,所有第一个元素的 index 值是 0(不是 1). 如:$(& ...