#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. jquery运用FormData结合Ajax异步上传表单,超实用

    首先创建一个formData,其中参数,就是你的form表单,jquery要加0,也可以用document.querySelector("form")得到 var formData ...

  2. Java项目中启动Tomcat报错invalid LOC header

    原因: 可能是jar包有问题. 解决方法: 1.找到加载不了的类对应的jar包. 2.在tomcat中webapps/INF/lib中找到对应的jar包,然后删除. 3.重新下载其它版本的jar包. ...

  3. C语言面试题分类->宏定义

    1.写一个“标准”宏,这个宏输入两个参数并返回较小的一个 答:#define MIN(x, y) ((x)<(y)?(x):(y))//注意x,y要加括号,因为x,y如果有复合运算会出现问题. ...

  4. Axure软件界面及元件

    Axure 软件的需求史 功能:用来制作快速原型的软件.也可以绘制中保真原型草图. (适用人群:产品经理,交互设计师,UI设计师,网页设计师, 想要自己提升的人[重]) 原型分类: 低保真原型(草图) ...

  5. Python全栈-magedu-2018-笔记6

    第三章 - Python 内置数据结构 bytes.bytearray Python3引入两个新类型 bytes 不可变字节序列 bytearray 字节数组 可变 bytes.bytearray 字 ...

  6. JAVAjdk第一次作业

    第一次的作业由于对JAVA程序的不熟悉以及jdk环境变量的配置问题,第一次的作业写了很久

  7. eclipse 遇到的问题及解决思路

    招黑的我和eclipse相冲,莫名其妙出现一堆问题.现在打算不定时更新把我遇到的问题更上来,解决方法也附上,不一定适用以后遇到的问题,可以是提供一种解决问题的思路. 1.eclipse配置问题(jar ...

  8. numpy(二)

    通用函数: np.add  加 np.subtract  减 np.multiply  乘 np.divide  除 np.floor_divide  地板乘除法,取商 np.power  指数运算  ...

  9. CST2017 安装问题

    1.需要修改破解文件license 中的电脑名称 2.若lincense 中有时间限制  需要把时间都修改   比如  到期为  1-jan-2018   则修改为1-jan-2019   所有的都需 ...

  10. 温习排序算法(基于C指针)

    以前学过的数据结构课,貌似已经忘得一干二净了,偶然又翻起,书中最后一章详细介绍了7种排序算法,现在对其中4种做个总结.(为啥只总结4种,当然是因为偷懒,只想总结简单又常用的!) 先贴一张排序分类图: ...