Devexpress控件使用一:GridControl
1、控件及列表展示
1)、控件




2)、构建表格,用于列表展示

3)、gridControl绑定数据

4)、调用绑定:BindDataSource(InitDt());
5)、展示列表

2、表格的列配置
1)、点击 Run Resigner弹出设计界面



2)、配置后的效果


3、列数据的格式设置

1)、数据

2)、时间

3)、自定义

效果

注:数据公式查找:


4、gridControl属性
Dock:none 和 Anchor:Top, Bottom, Left, Right 设置随窗体宽高变化而变化
gridView1.IndicatorWidth = 40; //自增列宽度
gridView1.OptionsView.ColumnAutoWidth = false; //自动调整列宽,使所有列的宽度和视图的宽度匹配
gridView1.OptionsCustomization.AllowSort = false;//禁止用户对数据进行排序操作
gridView1.OptionsCustomization.AllowColumnResizing = false; //禁止各列头改变列宽
gridView1.OptionsCustomization.AllowColumnMoving = false;//各列头禁止移动
gridView1.VertScrollVisibility = ScrollVisibility.Auto; //显示垂直滚动条
gridView1.HorzScrollVisibility = ScrollVisibility.Auto; //显示水平滚动条
gridView1.OptionsMenu.EnableColumnMenu = false; //禁止列头上的菜单
gridView1.OptionsMenu.EnableFooterMenu = false; //禁止页脚上的菜单
gridView1.OptionsMenu.EnableGroupPanelMenu = false; //禁止分组面板上的菜单
gridView1.OptionsNavigation.UseTabKey = false; //不使用TAB/SHIFT+TAB移动焦点
gridView1.OptionsBehavior.Editable = false;//不允许编辑
gridView1.OptionsBehavior.ReadOnly = true;//只读
5、属性设置
1)、
//如何解决单击记录整行选中的问题
View->OptionsBehavior->EditorShowMode 设置为:Click
2)、
//焦点单元格的列
gridview1.FocusedColumn //焦点单元格所在行的行号
gridview1.FocusedRowHandle //焦点单元格的值
gridview1.FocusedValue
3)、
//如何解决 GridControl 记录能获取而没有显示出来的问题
gridView.populateColumns();
4)、
//如何让行只能选择而不能编辑(或编辑某一单元格)
View->OptionsBehavior->EditorShowMode 设置为:Click
View->OptionsBehavior->Editable 设置为:false
5)、
//如何禁用 GridControl 中单击列弹出右键菜单
Run Design->OptionsMenu->EnableColumnMenu 设置为:false
6)、
//如何隐藏 GridControl 的 GroupPanel 表头
Run Design->OptionsView->ShowGroupPanel 设置为:false
7)、
//如何禁用 GridControl 中列头的过滤器:
Run Design->OptionsCustomization->AllowFilter 设置为:false
8)、
//多选
GridControl->GridView->属性->OptinosSelecttion->MultiSelect
9)、
//在gridcontrol中添加checkbox复选框
gridview->run designer->columns->选择要变成复选框的那一列->column edit->new(在这里可以选择很多类型)
10)、
//显示自动筛选行(效果跟Excel的自动筛选差不多),列表的表格内部的自动筛选
gv2.OptionsView.ShowAutoFilterRow = true;
11)、
//设置成一次选择一行,并且不能被编辑
this.gridView1.FocusRectStyle = DevExpress.XtraGrid.Views.Grid.DrawFocusRectStyle.RowFocus;
this.gridView1.OptionsBehavior.Editable = false;
this.gridView1.OptionsSelection.EnableAppearanceFocusedCell = false;
12)、
//设置行号宽
gridView1.IndicatorWidth = 30;
13)、
//设置列表数据居中
gridview->run designer->columns->选择列->AppearanceCell和AppearanceHeader ->TextOptions->HAlignment属性设置为Center
6、分组排列汇总
分组
1)按时间分第一组

2)按性别分第二组

效果

3)高级设置

将所有组展开:gridView1.ExpandAllGroups();
4)、结果:

5)、自定义组名 gridView1_CustomDrawGroupRow


结果:

注意:每一行都有一个 RowHandle属性,普通行的RowHandle从0开始
排列设置


汇总
注:汇总结果显示在Footer面板中,gridControl的Footer面包默认不显示


结果:

7、行备注和行号
备注
1)、备注显示设置

2)、设置备注字段

结果

3)使用电脑键盘控制显示与隐藏
a、设置Form窗体的KeyPreview属性为true
b、注册窗体的KeyUp事件
private void Form2_KeyUp_1(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.F3)
{
gridView1.OptionsView.ShowPreview = !gridView1.OptionsView.ShowPreview;
}
}
行号
gridView1_CustomDrawRowIndicator事件
行号宽:gridView1.IndicatorWidth = 30;
private void gridView1_CustomDrawRowIndicator(object sender, DevExpress.XtraGrid.Views.Grid.RowIndicatorCustomDrawEventArgs e)
{
if (e.Info.IsRowIndicator)
{
e.Info.DisplayText = e.RowHandle.ToString();
}
}
结果

8、设置字体颜色
private void gridView1_RowCellStyle(object sender, DevExpress.XtraGrid.Views.Grid.RowCellStyleEventArgs e)
{
if (e.Column.FieldName == "TestResult")//设字体颜色
{
Result tr = Result.Running;switch (tr)
{
case Result.Success:
e.Appearance.ForeColor = Color.Black;
break; default:
e.Appearance.ForeColor = Color.Black;
break;
}
}
}
9、右键菜单
1.在VS工具箱中的“菜单和工具栏”找到ContextMenuStrip控件,双击添加。
2.点击ContextMenuStrip右上方的小三角形,打开编辑项,可以添加菜单项。至于菜单点击事件,这里就不多说了。
3.选择gridControl(注意这里不是gridView的属性),在属性中可以找到ContextMenuStrip属性,设置成刚添加的ContextMenuStrip。
4.是否可用设置

问题:在单选时,“打开”(itemOpen)、“删除”(itemDelete)菜单项都可用,多选时“打开”不可用,“删除”可用,没有选择时“打开”、“删除”都不可用。
这里需要用到gridView的PopupMenuShowing这个事件。也就是在菜单出现之前用户点击右键之后,来判断一下选择了几行,从而决定菜单项是否可用。
private void gridView_PopupMenuShowing(object sender, DevExpress.XtraGrid.Views.Grid.PopupMenuShowingEventArgs e)
{
//获取选择的行数
int select = gridView.SelectedRowsCount;
itemOpen.Enabled = false;
itemDelete.Enabled = false;
if(select == 1)
{
itemOpen.Enabled = true;
itemDelete.Enabled = true;
}
else if(select > 1)
{
itemDelete.Enabled =true;
}
}
样式设置
全部设置




新增一条记录
(1)、
private void btn_add_Click(object sender, EventArgs e)
{
gridView1.AddNewRow();
}
(2)、实现 gridView_InitNewRow 事件(对于新加行的特别的设置)
private void gridView1_InitNewRow(object sender, DevExpress.XtraGrid.Views.Grid.InitNewRowEventArgs e)
{
ColumnView View = sender as ColumnView;
View.SetRowCellValue(e.RowHandle, View.Columns[0], gridView1.GetRowCellValue(gridView1.GetRowHandle(gridView1.RowCount - 2), gridView1.Columns[0])); //复制最后一行的数据到新行
View.SetRowCellValue(e.RowHandle, View.Columns[1], gridView1.GetRowCellValue(gridView1.GetRowHandle(gridView1.RowCount - 2), gridView1.Columns[1])); //复制最后一行的数据到新行
}
自定义列显示事件


Devexpress控件使用一:GridControl的更多相关文章
- DevExpress 控件使用之GridControl基本属性设置
DEV控件:gridControl常用属性设置 1.隐藏最上面的GroupPanel(实现方法两种) ①代码实现:gridView1.OptionsView.ShowGroupPane ...
- c# devExpress控件 comboBoxEdit,gridControl1,labelcontrol
一.comboBoxEdit:下拉框 属性 添加项:Properties->items 二.gridControl gridControl与Gridview的区别:前者是容器,后者为视图 2)g ...
- DevExpress控件的GridControl控件小结
DevExpress控件的GridControl控件小结 (由于开始使用DevExpress控件了,所以要点滴的记录一下) 1.DevExpress控件组中的GridControl控件不能使横向滚动条 ...
- DevExpress控件-- Gridcontrol合并表头
写在前面的话: 在园子里逛了有一段时间了,一直想写点东西,但苦于自己的水平有限,生怕写出来的东西浪费了读者的时间.楼主有幸参加了公司DevExpress控件的培训,独乐乐不如众乐乐,特附上Demo以飨 ...
- DevExpress 控件 GridControl常见用法
刚接触DevExpress第三方控件,把GridControl的常见用法整理一下,以供参考: 说明: gcTest GridControl gvText GridView //隐藏最上面的G ...
- DevExpress控件-GridControl根据条件改变单元格/行颜色--转载
DevExpress控件-数据控件GridControl,有时我们需要根据特定条件改变符合条件的行或者单元格颜色达到突出显示目的,现在动起鼠标跟我一起操作吧,对的,要达到这个目的您甚至都不用动键盘. ...
- DevExpress控件的GridControl实现行多选
最近用到DevExpress控件的GridControl控件,需要用到行多选的操作,在网上找的资料,自己总结一下. 先展示一下效果:
- DevExpress控件GridControl中的布局详解 【转】
DevExpress控件GridControl中的布局详解 [转] 2012-10-24 13:27:28| 分类: devexpress | 标签:devexpress |举报|字号 订阅 ...
- DevExpress控件-GridControl根据条件改变单元格(Dev GridControl 单元格着色)
DevExpress控件-GridControl根据条件改变单元格颜色,如下图: 解决办法:可以参考:http://www.cnblogs.com/zeroone/p/4311191.html 第一步 ...
- DevExpress控件-GridControl根据条件改变单元格/行颜色(Dev GridControl 单元格着色) z
DevExpress控件-数据控件GridControl,有时我们需要根据特定条件改变符合条件的行或者单元格颜色达到突出显示目的,现在动起鼠标跟我一起操作吧,对的,要达到这个目的您甚至都不用动键盘. ...
随机推荐
- border-spacing和borer-collapse以及empty-cells属性
1.border-spacing 用于设置表格中,单元格之间的间隙 示例1:border-spacing: 7px: 单元格水平方向7px间隔,垂直方向7px间隔 示例2:border-spacing ...
- javascript中构造函数的说明
1.1 构造函数是一个模板 构造函数,是一种函数,主要用来在创建对象时对 对象 进行初始化(即为对象成员变量赋初始值),并且总是与new运算符一起使用. 1.2 new 运算符 new运算符创建一个新 ...
- 阿里云数据库MySQL版快速上手!
MySQL是全球最受欢迎的开源数据库,其在各Web应用中均有广泛部署.阿里云数据库MySQL版基于Alibaba的MySQL源码分支,经过双11高并发.大数据量的考验,拥有优良的性能和吞吐量.除此之外 ...
- ubantu上搭建hive环境
上次我们在ubantu上安装了hadoop,那我们现在再进一步,开始我们的学习之旅--hive板块吧! 第一步:准备! 软件: I.一个搭建好的hadoop环境 II.hive的bin文件(前往apa ...
- Pyhton学习——Day27
# hasattr(obj,'name')-->obj.name# getattr(obj,'name',default = 'xxx')--->obj.name# setattr(obj ...
- 字典树Trie Tree
又称单词查找树,Trie树,是一种树形结构,是一种哈希树的变种.典型应用是用于统计,排序和保存大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计.它的优点是:利用字符串的公共前缀 ...
- Android开发进度02
1,今日:目标:创建第一个android项目,创建android虚拟机 2,昨天:完成eclipseandroid环境的搭建 3,收获:修改.xml文件,将出错地方解决 4,问题:版本问题
- 详解 QT 主要类 QWidget
QWidget类是所有用户界面对象的基类,每一个窗口部件都是矩形,并且它们按Z轴顺序排列的.一个窗口部件可以被它的父窗口部件或者它前面的窗口部件盖住一部分. 先来看内容. AD: 2013云计算架构师 ...
- n&(n-1)位运算的妙用
一.n-1发生了什么 ①.二进制数n,n-1后,如果最后一位是0,将向前一位借2,2-1=1.最后一位为1.如果前一位为0,将继续向前一位借2,加上本身少掉的1.则变为1.一直遇到1.减为0. 所以 ...
- url中jsessionid的理解
(1) 这是一个保险措施 因为Session默认是需要Cookie支持的 但有些客户浏览器是关闭Cookie的 这个时候就需要在URL中指定服务器上的session标识,也就是5F4771183629 ...