代码修改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 ...
随机推荐
- linux学习:sed与awk与tr用法整理
流编辑器:sed 语法:sed [-hnV][-e<script>][-f<script文件>][文本文件] 参数: -e<script>或--expression ...
- Git飞行规则
原文链接 Git飞行规则(Flight Rules)
- yii2 gridview checkbox
给checkbox(在GridView里的)添加一个value 控制器:$dataProvidermStu->key = "student_no"; view:[ 'clas ...
- GParted: GNOME Partition Editor, sharp weapon to modify disk partitions.
GParted Projects GNOME Partition Editor for creating, reorganizing, and deleting disk partitions. It ...
- NetBeans配置subli
NetBeans主题设置: ①.去https://netbeansthemes.com/rank/网址下载喜欢的主题 ②.然后打开NetBeans-->工具->选项->外观-> ...
- Express全系列教程之(二):Express的路由以及动态路由
一.Express路由简介 路由表示应用程序端点 (URI) 的定义以及响应客户端请求的方式.它包含一个请求方时(methods).路径(path)和路由匹配时的函数(callback); app.m ...
- RxSwift + Moya + ObjectMapper
https://www.jianshu.com/p/173915b943af use_frameworks! target 'RXDemo' do pod 'RxSwift' pod 'RxCocoa ...
- vue-cli 创建项目失败
vue-cli 创建一个vue项目报错 npm code 404. 尝试解决方法都有,我是第3种方法生效 更新npm 重新安装nodejs vue-cli@3.0.1 在创建项目的时候,不能开启其他v ...
- DS1-13
#include <stdio.h> #define MAXSIZE 10000 int Max3(int A, int B, int C); int DivideAndConquer(i ...
- 2019.4.14 python基础30
前面学习的变量,数据类型(整型,浮点数,布尔),序列(字符串,列表,元祖,字典,集合) ,可以看做是数据的组织方式.数据可以看做是“砖块”! 流程控制语句是代码的组织方式,可以看做是“混凝土” 一个完 ...