#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. flexible.js 移动端自适应方案

    一,flexible.js 的使用方式: github地址:https://github.com/amfe/lib-flexible 官方文档地址:https://github.com/amfe/ar ...

  2. 洛谷P1115 最大字段和【线性dp】

    题目:https://www.luogu.org/problemnew/show/P1115 题意: 求给定数组的最大区间和. 思路: $dp[i][0]$表示以1~i的数组,不选i的最大字段和.$d ...

  3. RMAN备份filesperset用法

    用filesperset控制备份集的尺寸 当指定filesperset参数时,rman比较filesperset与自动计算出来的值(对每个已分配通道的文件数目) 并取其中较小的那个值来保证所有的通道被 ...

  4. Jmeter post请求传参问题

    同线程组引用参数 举例1:新增数据bizId,然后将此次新增数据删除 添加新增数据接口,然后查询数据列表,正则表达式提取bizId 在删除接口引用此值${bizId} 添加断言,执行查看结果

  5. 【转】mysql保存图片技术决定:保存二进制文件还是只保存图片相对路径,图片放在硬盘上面?

    最近遇到上面这个问题,一开始我就果断否决了数据库保存图片的策略,主要是太蠢!事实上我的决定是正确的,我仅仅理解为mysql读写性能提高的境界,具体为什么可以提高?很模糊,知道我看到了这里: 大佬做的实 ...

  6. dll加密工具

    Virbox Protector Standalone 加壳工具可直接对dll文件进行加壳,防止代码反编译,更安全,更方便. 产品简介 Virbox Protector Standalone提供了强大 ...

  7. 337A

    #include <stdio.h> #include <stdlib.h> #define MAXSIZE 60 int comp_inc(const void *first ...

  8. MyBatis基本使用

    MyBatis是轻量级的数据库访问API,封装了JDBC操作,可以实现对实体对象的CRUD操作. MyBatis体系结构主要组成部分:    配置文件:SqlMapConfig.xml 主配置文件   ...

  9. 兼容不同浏览器的CSS前缀-webkit-,-ms-,-moz-,-o-

    笔者在工作实践中发现当需要CSS兼容不同的浏览器时,需要在CSS样式前加上不同的前缀,从而使其他浏览器也能够达到相同的页面效果. 那么我们怎么去加上这些前缀呢?我们一起带着疑问来进行学习: 1.前缀分 ...

  10. log4cplus在Linux下编译及使用

    log4cplus第一次在windows下使用的时候很快就完成了,最近在Linux下尝试使用时遇到了不少问题,主要原因是对Linux的编译连接不熟悉,以下就记录安装使用的过程,希望对需要的人有所帮助. ...