GridContrl 通用类
using DevExpress.Data;
using DevExpress.Utils;
using DevExpress.XtraGrid.Views.Grid;
using System;
using System.Collections.Generic;
using System.Data;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Text; namespace Dev.GridControl
{
public class GridMethod
{
string path = System.Windows.Forms.Application.StartupPath + "\\layout\\";
/// <summary>
/// 列名称
/// </summary>
public Dictionary<string, string> DicColName { get; set; }
/// <summary>
/// 数据源
/// </summary>
public DataTable Source { get; set; }
/// <summary>
/// 列宽
/// </summary>
public int IndicatorWidth { get; set; }
/// <summary>
/// GridContrl -- GridView
/// </summary>
public GridView GView { get; set; } public GridMethod()
{
if (!Directory.Exists(path))
{
Directory.CreateDirectory(path);
}
} /// <summary>
/// 选中行 字体颜色、背景颜色设置
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
public void gridView1_RowStyle(object sender, DevExpress.XtraGrid.Views.Grid.RowStyleEventArgs e)
{
GridView gridView1 = (GridView)sender;
gridView1.Appearance.FocusedRow.ForeColor = Color.Red;//字体颜色
gridView1.Appearance.FocusedRow.BackColor = Color.Linen;//行背景颜色
}
/// <summary>
/// 初始化GridContrl--GridView的样式和事件
/// </summary>
/// <param name="gridView1">gridView1</param>
/// <param name="IndicatorWidth">-1 列的宽度</param>
/// <param name="dt"> 绑定的数据源</param>
/// <param name="ColCaption">列标题</param>
public void GetSetGridContrl2(DataTable dt, GridView gridView1, int IndicatorWidth, string NameSpacePath)
{
//设置列索引为-1的列宽
gridView1.IndicatorWidth = IndicatorWidth;
gridView1.OptionsView.ShowAutoFilterRow = true;
gridView1.OptionsView.ColumnAutoWidth = false;
//自动列宽,会出现横向滚动条
gridView1.OptionsView.ColumnAutoWidth = false;
//自动列宽
gridView1.BestFitColumns();
gridView1.Appearance.OddRow.BackColor = Color.PaleGoldenrod; // 设置奇数行颜色 // 默认也是白色 可以省略
gridView1.OptionsView.EnableAppearanceOddRow = true; // 使能 // 和和上面绑定 同时使用有效
gridView1.Appearance.EvenRow.BackColor = Color.WhiteSmoke; // 设置偶数行颜色
gridView1.OptionsView.EnableAppearanceEvenRow = true; // 使能 // 和和上面绑定 同时使用有效
gridView1.OptionsView.ShowGroupPanel = false;
string FileNames = "", REM = "", LONG = "", type2 = "";
try
{ for (int i = ; i < dt.Rows.Count; i++)
{
FileNames = dt.Rows[i]["FileNames"].ToString();
REM = dt.Rows[i]["REM"].ToString();
LONG = dt.Rows[i]["LONG"].ToString();
type2 = dt.Rows[i]["type2"].ToString(); DevExpress.XtraGrid.Columns.GridColumn Col1 = new DevExpress.XtraGrid.Columns.GridColumn();
try
{
Col1.Width = Convert.ToInt32(LONG);
}
catch (Exception ex)
{
Col1.Width =;
}
Col1.Tag = FileNames;
Col1.Name = "Col" + FileNames;
Col1.FieldName = FileNames;
Col1.Caption = REM; if (type2 == "时间")//时间格式
{
Col1.DisplayFormat.FormatType = FormatType.DateTime;
Col1.DisplayFormat.FormatString = "yyyy-MM-dd HH:mm:ss"; }
if (type2 == "数值")//数值格式,最大4位小数
{
Col1.DisplayFormat.FormatString = "N4";
Col1.DisplayFormat.FormatType = FormatType.Numeric;
}
Col1.VisibleIndex = i;
gridView1.Columns.Add(Col1);
}
}
catch (Exception)
{ } //添加 行索引事件
gridView1.CustomDrawRowIndicator += gridView1_CustomDrawRowIndicator;
//布局变化时产生事件
gridView1.Layout += gridView1_Layout;
//保存表格样式的.xml文件
string xmlfile = path + NameSpacePath.Replace(".", "") + gridView1.Name + ".xml";
gridView1.Tag = xmlfile;
LoadLayout(gridView1);//加载窗格
gridView1.OptionsView.ShowFooter = true;
}
/// <summary>
/// GridContrl--GridView 的设置
/// </summary>
/// <param name="gridView1">gridView1</param>
/// <param name="IndicatorWidth">-1 列的宽度</param>
/// <param name="dt"> 绑定的数据源</param>
/// <param name="ColCaption">列标题</param>
public void GetSetGridContrl(GridView gridView1, int IndicatorWidth, string NameSpacePath)
{
//设置列索引为-1的列宽
gridView1.IndicatorWidth = IndicatorWidth;
gridView1.OptionsView.ShowAutoFilterRow = true;
gridView1.OptionsView.ColumnAutoWidth = false;
//自动列宽,会出现横向滚动条
gridView1.OptionsView.ColumnAutoWidth = false;
//自动列宽
gridView1.BestFitColumns();
gridView1.Appearance.OddRow.BackColor = Color.PaleGoldenrod; // 设置奇数行颜色 // 默认也是白色 可以省略
gridView1.OptionsView.EnableAppearanceOddRow = true; // 使能 // 和和上面绑定 同时使用有效
gridView1.Appearance.EvenRow.BackColor = Color.WhiteSmoke; // 设置偶数行颜色
gridView1.OptionsView.EnableAppearanceEvenRow = true; // 使能 // 和和上面绑定 同时使用有效
gridView1.OptionsView.ShowGroupPanel = false;
//添加 行索引事件
gridView1.CustomDrawRowIndicator += gridView1_CustomDrawRowIndicator;
//布局变化时产生事件
gridView1.Layout += gridView1_Layout;
string xmlfile = path + NameSpacePath.Replace(".", "") + gridView1.Name + ".xml";
gridView1.Tag = xmlfile;
LoadLayout(gridView1);//加载窗格
gridView1.OptionsView.ShowFooter = true;
gridView1.RowStyle += gridView1_RowStyle;
} /// <summary>
/// GridContrl--GridView 的设置
/// </summary>
/// <param name="gridView1">gridView1</param>
/// <param name="IndicatorWidth">-1 列的宽度</param>
/// <param name="dt"> 绑定的数据源</param>
/// <param name="ColCaption">列标题</param>
public void GetSetGridContrl(DataTable dt, GridView gridView1, int IndicatorWidth, string NameSpacePath)
{
//设置列索引为-1的列宽
gridView1.IndicatorWidth = IndicatorWidth;
gridView1.OptionsView.ShowAutoFilterRow = true;
gridView1.OptionsView.ColumnAutoWidth = false;
//自动列宽,会出现横向滚动条
gridView1.OptionsView.ColumnAutoWidth = false;
//自动列宽
gridView1.BestFitColumns();
gridView1.Appearance.OddRow.BackColor = Color.PaleGoldenrod; // 设置奇数行颜色 // 默认也是白色 可以省略
gridView1.OptionsView.EnableAppearanceOddRow = true; // 使能 // 和和上面绑定 同时使用有效
gridView1.Appearance.EvenRow.BackColor = Color.WhiteSmoke; // 设置偶数行颜色
gridView1.OptionsView.EnableAppearanceEvenRow = true; // 使能 // 和和上面绑定 同时使用有效
gridView1.OptionsView.ShowGroupPanel = false;
string FileNames = "", REM = "", LONG = "", type2 = "";
try
{ for (int i = ; i < dt.Rows.Count; i++)
{
FileNames = dt.Rows[i]["FileNames"].ToString();
REM = dt.Rows[i]["REM"].ToString();
LONG = dt.Rows[i]["LONG"].ToString();
type2 = dt.Rows[i]["type2"].ToString(); DevExpress.XtraGrid.Columns.GridColumn Col1 = new DevExpress.XtraGrid.Columns.GridColumn();
try
{
Col1.Width = Convert.ToInt32(LONG);
}
catch (Exception ex)
{
Col1.Width =;
}
Col1.Tag = FileNames;
Col1.Name = "Col" + FileNames;
Col1.FieldName = FileNames;
Col1.Caption = REM; if (type2 == "时间")
{
Col1.DisplayFormat.FormatType = FormatType.DateTime;
Col1.DisplayFormat.FormatString = "yyyy-MM-dd HH:mm:ss"; }
if (type2 == "数值")
{
Col1.DisplayFormat.FormatString = "N4";
Col1.DisplayFormat.FormatType = FormatType.Numeric;
}
Col1.VisibleIndex = i;
gridView1.Columns.Add(Col1);
}
}
catch (Exception)
{ } //添加 行索引事件
gridView1.CustomDrawRowIndicator += gridView1_CustomDrawRowIndicator;
//布局变化时产生事件
gridView1.Layout += gridView1_Layout;
string xmlfile = path + NameSpacePath.Replace(".", "") + gridView1.Name + ".xml";
gridView1.Tag = xmlfile;
LoadLayout(gridView1);//加载窗格
gridView1.OptionsView.ShowFooter = true;
gridView1.RowStyle+=gridView1_RowStyle; } /// <summary>
/// 布局变化时,自动保存窗格样式
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
void gridView1_Layout(object sender, EventArgs e)
{
GridView gridView1 = (GridView)sender;
SaveLayout(gridView1);//布局变化时 自动保存窗格布局
} /// <summary>
/// 保存风格的方法
/// </summary>
/// <param name="moduleid"></param>
/// <param name="saveType"></param>
public void SaveLayout(GridView gridView1)
{
string file = gridView1.Tag.ToString();
if (File.Exists(file))
{
File.Delete(file);
}
gridView1.SaveLayoutToXml(file);
} /// <summary>
/// 加载风格
/// </summary>
/// <param name="moduleid"></param>
/// <param name="saveType"></param>
public void LoadLayout(GridView gridView1)
{
string file = gridView1.Tag.ToString();
if (!File.Exists(file))
{
return;
}
gridView1.RestoreLayoutFromXml(file);
} /// <summary>
/// 添加行索引,过滤行筛选条件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
public static void gridView1_CustomDrawRowIndicator(object sender, RowIndicatorCustomDrawEventArgs e)
{
GridView gridView1 = (GridView)sender;
//设置行索引:列索引等于-1处设置行索引。
if (e.Info.IsRowIndicator && e.RowHandle >= )
{
e.Info.DisplayText = (e.RowHandle + ).ToString();
}
//设置筛选行不用输入百分号直接筛选
foreach (DevExpress.XtraGrid.Columns.GridColumn item in gridView1.Columns)
{
item.OptionsFilter.AutoFilterCondition = DevExpress.XtraGrid.Columns.AutoFilterCondition.Contains; //筛选条件设置为包含
} }
}
}
GridContrl 通用类的更多相关文章
- poi导出excel通用类
一.关键的通用类public class PoiExportUtils { private static HSSFWorkbook workBook; public PoiExportUtils ...
- NPOI MVC 模型导出Excel通用类
通用类: public enum DataTypeEnum { Int = , Float = , Double = , String = , DateTime = , Date = } public ...
- MVC NPOI Linq导出Excel通用类
之前写了一个模型导出Excel通用类,但是在实际应用中,可能不是直接导出模型,而是通过Linq查询后获取到最终结果再导出 通用类: public enum DataTypeEnum { Int = , ...
- NPOI导入导出EXCEL通用类,供参考,可直接使用在WinForm项目中
以下是NPOI导入导出EXCEL通用类,是在别人的代码上进行优化的,兼容xls与xlsx文件格式,供参考,可直接使用在WinForm项目中,由于XSSFWorkbook类型的Write方法限制,Wri ...
- mongdo通用类(C#版)
日前从公司离职,很快,还没休息就步入了现在的公司,开始跟着公司的脚步走. 公司的项目基本都是大数据的,所以在数据库上大部分都是使用Mongodb和Redis,基本都是Nosql型的数据库为主.以前自己 ...
- 我写的一个ExcelHelper通用类,可用于读取或生成数据
读取或生成EXCEL数据的方法有很多,一般常见的有: 1.通过OFFICE EXCEL组件,优点:读取与生成EXCEL文件方便,缺点:服务器上必须安装OFFICE软件,且进程无法及时释放 2.通过第三 ...
- DataTable转List<Model>通用类
/// <summary> /// DataTable转List<Model>通用类[实体转换辅助类] /// </summary> public class Mo ...
- Memcached通用类(基于enyim.com Memcached Client)
一.如果用官方提供的方法,在web.config里面配置好了各个参数和服务器IP.如下图: <?xml version="1.0"?> <configuratio ...
- Memcached通用类(基于Memcached Client Library)
分享下自己编写的Memcached通用类.欢迎大家帮忙指点下哈~ 使用的是.NET memcached client library 客户端+Memcached Providers using Sys ...
随机推荐
- 基于滴答清单 Web 开发的 PC 客户端
基于滴答清单 Web 开发的 PC 客户端 关于「滴答清单」 滴答清单是一款不可多得的 GTD 效率工具,它有着清晰明了的界面设计.恰到好处的功能设置.稳定的同步服务,如果你还缺少一款简洁而有效的 G ...
- Java中堆(heap)和栈(stack)的区别
简单的说: Java把内存划分成两种:一种是栈内存,一种是堆内存. 在函数中定义的一些基本类型的变量和对象的引用变量都在函数的栈内存中分配. 当在一段代码块定义一个变量时,Java就在栈中为这个变量分 ...
- 面向对象OOP概念描述
面向对象三大特征:封装,继承,多态 封装就是把一个对象的属性私有化,同时提供一些可以被外界访问的属性的方法 继承就是在已经存在的类的定义作为基础,建立新的技术.新定义的类可以添加新的数据或功能,也可以 ...
- Dynamics CRM模拟OAuth请求获得Token后在外部调用Web API
关注本人微信和易信公众号: 微软动态CRM专家罗勇 ,回复233或者20161104可方便获取本文,同时可以在第一间得到我发布的最新的博文信息,follow me!我的网站是 www.luoyong. ...
- UiPath实践经验总结(二)
1. UI操作容易受到各种意外的干扰,因此应该缩短UI操作阶段的总体时间.而为了缩短UI操作阶段的总体时间,应该将UI操作尽量放在一起,将后台的各种操作尽量放在UI操作的前后.例如,现在有 ...
- Android 切换横竖屏
一个项目一般会自己先定义项目是横屏还是竖屏但是也有可以横屏和竖屏之间切换的activty. 切换横竖屏的方法: //判断当前屏幕方向if(getRequestedOrientation() == Ac ...
- 配置Asp.Net Web项目NLog配置文件的位置
在使用NLog在asp.net项目中发现,如果想单独配其配置文件的位置时没有像Log4Net的特性配置方案,可以使其提供的 XmlLoggingConfiguration类来初始化: 见:https: ...
- Javascript高级编程学习笔记(96)—— WebGL(2) 类型化视图
类型化视图 类型化视图一般也被认为是一种类型化数组. 因为其元素必须是某种特定的数据类型,类型化视图都继承自 Dataview Int8Array: 表示8位二补整数(即二进制补数) Uint8Arr ...
- Java集合-ArrayList源码解析-JDK1.8
◆ ArrayList简介 ◆ ArrayList 是一个数组队列,相当于 动态数组.与Java中的数组相比,它的容量能动态增长.它继承于AbstractList,实现了List, RandomAcc ...
- Java转PHP的心路历程
首先,我要批评一下自己,已经好久没发博客了.总是拿奇奇怪怪的理由来妨碍自己写博客. emmmm,现在心里舒服一点了. 前提 在2018年的11月7号,我从广州跳槽到一个三线的小城市工作.跳槽原因比较羞 ...