自动为DEV GridView控件添加SizeChanged事件
实现gdv设置的抽象对象,不用每个gdv控件都添加sizechanged事件,只需执行gdc绑定sql函数,在其中会自动添加SizeChanged事件。
//2016.5.13 by sngk
//根据控件大小自动调整GridView列宽模式,尽量使列充满
//2016.11.19 实现自动添加sizechanged事件
//该函数只执行一次,在赋值时
public static void BestFitGridViewColumnsWidth(DevExpress.XtraGrid.GridControl gdc,string sql, int hidecols=0)
{
DevExpress.XtraGrid.Views.Grid.GridView gdv = (DevExpress.XtraGrid.Views.Grid.GridView)gdc.Views[0];
//绑定数据
gdv.GridControl.DataSource = DBFactorySingleton.GetInstance().Factory.GetDataTable(sql);
for (int i = 0; i < hidecols;i++ )
gdv.Columns[i].Visible = false;
//添加事件
gdc.SizeChanged += BestFitDevGrid_Size_Changed_Event;
//虽然每次窗体变化时都会激发sizechange事件,但窗体第一次load时不会触发,所以加一句调整语句
BestFitGridViewWidth(gdv);
}
//2016.11.19 技术进步,后台为控件添加事件
public static void BestFitDevGrid_Size_Changed_Event(object sender, EventArgs e)
{
//获得gdc对象
DevExpress.XtraGrid.GridControl gdc=(DevExpress.XtraGrid.GridControl)sender;
//取得gdc的第一个gdv对象
DevExpress.XtraGrid.Views.Grid.GridView gdv = (DevExpress.XtraGrid.Views.Grid.GridView)gdc.Views[0];
//设置最适合列宽的判断行数
gdv.BestFitMaxRowCount = 500;
BestFitGridViewWidth(gdv);
}
//根据窗体大小判断gdv最合适大小
public static void BestFitGridViewWidth(DevExpress.XtraGrid.Views.Grid.GridView gdv)
{
//先设置最小列宽
gdv.BestFitColumns();
//获取所有列总最小宽度
int tt = 0;
for (int i = 0; i < gdv.Columns.Count; i++)
{
if (gdv.Columns[i].Visible)
tt += gdv.CalcColumnBestWidth(gdv.Columns[i]);
}
//如果有指示列,加上其宽度
if (gdv.OptionsView.ShowIndicator)
tt += gdv.IndicatorWidth;
//根据宽度调整列显示模式
if (tt < gdv.ViewRect.Width)
gdv.OptionsView.ColumnAutoWidth = true;
else
gdv.OptionsView.ColumnAutoWidth = false;
}
自动为DEV GridView控件添加SizeChanged事件的更多相关文章
- asp.net中的ListBox控件添加双击事件
问题:在Aspx页里的ListBox A中添加双击事件,将选中项添加到另一个ListBox B中,双击ListBox B中的选中项,删除当前选中项 页面: <asp:ListBox ID=&qu ...
- Winform 中DataGridView、dev Gridview控件添加行标题
有很多种方法. 1.可以在DataGridView控件中的RowStateChanged事件改变行标题单元格的值(Row.HeaderCell.Value) /// <summary> / ...
- jQuery对新添加的控件添加响应事件
1. 通过id和类控制 <html> <head> <script src="jquery.js"></script> <sc ...
- easyui datagrid的editor编辑器如何为validatebox控件添加改变事件
项目中需要为行编辑器Editor的某个列的文本框添加改变事件 需求:新增行时,为用户名输入特殊字符进行验证,不允许保存用户数据 html页面 <table id="gridlist&q ...
- C#Winfrom中,窗体加载时会自动执行一次控件的textchange事件,怎么让它不执行?
http://zhidao.baidu.com/link?url=iTSyfa5_RJBSb37S8efdWoL5eDMrnxeAm-prhGSNBXqdP9r7PzNDQTc7gVzJgCNdzli ...
- 给input的按钮控件添加onserverclick事件
前台: <input type="button" value="登录" id="login" onclick="" ...
- GridView控件点击单元格如何获取该列的列标题
本博文Insus.NET教你实现在GridView控件中,用mouse点击某单元格之后,希望能获取到该列的列标题. 创建一个网页,创建一个GridView控件: 去cs绑定数据给GridView控件: ...
- ASP.NET编辑与更新数据(非GridView控件实现)
Insus.NET在实现<ASP.NET开发,从二层至三层,至面向对象 (5)>http://www.cnblogs.com/insus/p/3880606.html 中,没有把数据编辑与 ...
- repeater中后台动态为控件添加属性
在此贴出repeater中的ItemDataBound事件中的代码: private void ItemDataBound(object sender, RepeaterItemEventArgs e ...
随机推荐
- sklearn之特征提取(文本特征)
1.引言 关于文本的提取有很多方法,本文主要探索下sklearn官方的文本特征提取功能. 2.文本特征提取 文本分析是机器学习算法的主要应用领域. 然而,原始数据,符号文字序列不能直接传递给算法,因为 ...
- Hdu 4923(单调栈)
题目链接 Room and Moor Time Limit: 12000/6000 MS (Java/Others) Memory Limit: 262144/262144 K (Java/Ot ...
- pyenv虚拟环境管理python多版本和软件库
可能大家在日常工作中会遇到这么个问题,现在基本的linux系统都是自带老版本的python2.7.x版本,我又不想用老版本,但直接升级可能会出问题,或是依赖老版本的程序就运行不了,有没办法能安装3.x ...
- Object Pool 对象池的C++11使用(转)
很多系统对资源的访问快捷性及可预测性有严格要求,列入包括网络连接.对象实例.线程和内存.而且还要求解决方案可扩展,能应付存在大量资源的情形. object pool针对特定类型的对象循环利用,这些对象 ...
- Node环境变量 process.env 的那些事儿
前言 这两天在和运维GG搞部署项目的事儿. 碰到一个问题就是,咱们的dev,uat,product环境的问题. 因为是前后端分离,所以在开发和部署的过程中会有对后端接口的域名的切换问题.折腾了一下午, ...
- python中的open函数
open函数用于文件处理 操作文件时,一般需要经历如下步骤: 打开文件 操作文件 一.打开文件 1 文件句柄 = open('文件路径', '模式') 打开文件时,需要指定文件路径和以何等方式打开文件 ...
- SQLServer → 09:索引
一.索引概念 用途 我们对数据查询及处理速度已成为衡量应用系统成败的标准,而采用索引来加快数据处理速度通常是最普遍采用的优化方法. 概念 索引是一个单独的,存储在磁盘上的数据结构,它们包含则对数据表里 ...
- WPF/Silverlight深度解决方案:(七)HLSL自定义渲染特效之完美攻略(中)
原文:WPF/Silverlight深度解决方案:(七)HLSL自定义渲染特效之完美攻略(中) 通过上一节的解说,大家是否已经对HLSL有了较深刻的认识和理解,HLSL的渲染不仅仅局限于静态处理,通过 ...
- Kubernetes Ingress日志分析入门
本文主要介绍如何基于日志服务构建Kubernetes Ingress日志分析平台,并提供一些简单的动手实验方便大家快速了解日志服务相关功能. 部署Ingress日志方案 登录容器服务管理控制台. 将上 ...
- 只想着一直调用一直爽, 那API凭证泄漏风险如何破?
如今各家云厂商都通过给用户提供API调用的方式来实现一些自动化编排方面的需求.为了解决调用API过程中的通信加密和身份认证问题,大多数云厂商会使用同一套技术方案—基于非对称密钥算法的鉴权密钥对,这里的 ...