DevExpress使用教程:GridView经验小结(官方中文文献经典资料技巧)
下面是笔者自己总结的使用 DevExpress Gridview 的一些经验小结,分享给大家:
1、去除 GridView 头上的 "Drag a column header here to group by that column"
--> 点击 Run Designer -> 找到:OptionView -> 将 ShowGroupPanel : 设置为 false ;
2、如何显示出 GridView 自带的搜索功能
--> 点击 Run Designer -> 找到: OptionsFind -> 将AlwaysVisible : 设置为 True
3、如何将GridView的大小自适应窗体的大小
--> 右键 GridView 控件 -> 属性 -> 找到 Dock : 设置为 Fill
4、当GridView数据源发生变化时,如何更改GridView所"绑定的值"
Code注:其实就是重新创建了一个GridView的实例。
- gridView1 = new DevExpress.XtraGrid.Views.Grid.GridView(gridControl1);
- gridControl1.MainView = gridView1;
- gridView1.OptionsView.ShowGroupPanel = false;
- gridView1.OptionsFind.AlwaysVisible = true;
- gridControl1.DataSource = dt;
5、在GridControl 中添加checkbox复选框
--> gridView -> run designer -> columns -> 添加一列(如果没有的话) 然后如图设置-- > 另外当我们需要动态绑定grid数据时,DataTable 中列的名字要和我们在gridview中设置的FileName名字要移植,不然数据是显示不出来的。
6、让GridView 行 不可编辑
-- > Run Designer -> OptionsBehavior -> Editable : False
7 、在GridView 行中添加Button按钮
- public void ButtonInitial()
- {
- RepositoryItemButtonEdit rib = new RepositoryItemButtonEdit();
- rib.TextEditStyle = TextEditStyles.HideTextEditor;
- rib.Buttons[0].Kind = ButtonPredefines.Glyph;
- rib.ButtonClick += rib_ButtonClick;
- rib.Buttons[0].Caption = "详细信息";
- rib.Buttons[0].Visible = true;
- gridView1.Columns["DOWNSTATE"].ColumnEdit = rib;
- }
- void rib_ButtonClick(object sender, ButtonPressedEventArgs e)
- {
- int rowindex = gridView1.FocusedRowHandle;
- DataRow row = gridView1.GetDataRow(rowindex);
- }
8 、GirdView行添加Button按钮之后,触发事件不可用.
将GridView Editable 设置为True 让GridView可编辑,如果不想让它可编辑的话,在一列一列的进行设置.原因是:将GridView设置为不可编辑之后,那么鼠标点击Button那一列只是选中而已,不会进行触发事件.
9 、GridView 设置选中行的颜色
GridView : Run Designer -> Appearences : selectRow & FocusedRow (两项都要设置)
BackColor : MediumSlateBlue 背景色
ForeColor : White 前景色 字体颜色
10 、GridView 设置标题行颜色
GridView : Run Designer -> Appearences : HeadPanel 在这个属性组中都是关于标题行的设置,再次不做诠释.
当设置完HeadPanel 其实并没有结束,是不显示效果的, 还需要设置 GridControl 属性中 LookAndFeel : Style 设置为ultraFlat , UseDefaultLookAndFeel 设置为 False .
11 、GridView 设置标题行以及内容行 数据居中
标题行 10 所述 在HeadPanel 里有一个TextOptions 展开之后 将HAlignment : Center
如果是将内容行数据居中.有两种方法 1 : 逐行设置 2 : 设置Appearences
1 : GridView -> Run Designer -> Columns -> AppearanceCell -> TextOptions 找到HAlignment : Center .
2 : GridView -> Run Designer -> Appearance -> ViewCaption -> TextOptions -> HAlignment : Center
12 、GridView添加CheckBox并支持多选操作.
GridView : Run Designer -> OptionsSelection -> MultiSelect : True MultiSelectMode : CheckBoxRowSelect
13 、GridView 添加序号列
GridView : Run Designer -> Event -> CustomDrawRowIndicator
在事件中添加代码 :
- e.Appearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
- if (e.Info.IsRowIndicator)
- {
- if (e.RowHandle >= 0)
- {
- e.Info.DisplayText = (e.RowHandle + 1).ToString();
- }
- else if (e.RowHandle < 0 && e.RowHandle > -1000)
- {
- e.Info.Appearance.BackColor = System.Drawing.Color.AntiqueWhite;
- e.Info.DisplayText = "G" + e.RowHandle.ToString();
- }
- }
另外在 Run Desginer -> IndicatorWidth 设置序号列的宽度 一般30左右就比较适合一些了.
14 、单元格双击响应
- private void gridControl1_DoubleClick(object sender, EventArgs e)
- {
- MouseEventArgs arg = e as MouseEventArgs;
- if (arg == null)
- return;
- GridHitInfo hitInfo = gridView1.CalcHitInfo(new Point(arg.X, arg.Y));//获取坐标点
- if (hitInfo.RowHandle >= 0)
- {
- DataRow row = gridView1.GetDataRow(hitInfo.RowHandle);
- _list.Clear();
- _list.Add(row[0].ToString());
- gisResoureMonControl1.SetSelectResource(_list);
- }
- }
15 、获取选中行的值
代码:
- private void gridData_FocusedRowChanged(object sender, DevExpress.XtraGrid.Views.Base.FocusedRowChangedEventArgs e)
- {
- _id = GWEntLib.Utilities.Mix.ConvertUtils.ToInt32(gridData.GetRowCellValu(e.FocusedRowHandle, "Id"));
- _emrFileReadList = EMRTemplateFileReadList.GetEMRTemplateFileReadList(_id);
- gridVersonData.DataSource = _emrFileReadList;
- }
响应事件:FocusedRowChanged
获取字段值:gridData.GetRowCellValue(e.FocusedRowHandle, "Id")
注意:FocusedRowChanged是Gridview的事件而不是gridControl的事件
gridControl与Gridview的区别:前者是容器,后者为视图
16、将GridView 列表表头固定,无Filter效果
17、DevExpress GridView 获取当前选中行的值。
- int rowIndex = gridView1.FocusedRowHandle;
- DataRow dr = gridView1.GetDataRow(rowIndex);
- MessageBox.Show("课件 \"" + dr.ItemArray[0].ToString() + "\" 下载成功");
18、GridView 去除选中行虚线。
Run Desginer -> Appearance : FocusRectStyle : none;
DevExpress使用教程:GridView经验小结(官方中文文献经典资料技巧)的更多相关文章
- DevExpress使用教程合集
博客园把网站屏蔽掉了.So,做了点小手脚.点击进入网址后把URL中的“20%”去掉即可. DevExpress Universal Subscription是DevExpress旗下重要的用户界面控件 ...
- ActiveReports 报表控件官方中文入门教程 (3)-如何选择页面报表和区域报表
本篇文章将介绍区域报表和页面报表的常见使用场景.区别和选择报表类型的一些建议,两种报表的模板设计.数据源(设计时和运行时)设置.和浏览报表的区别. ActiveReports 报表控件官方中文入门教程 ...
- ActiveReports 报表控件官方中文入门教程 (1)-安装、激活以及产品资源
本系列文章主要是面向初次接触 ActiveReports 产品的用户,可以帮助您在三天之内轻松的掌握ActiveReports控件的基本使用方法,包括安装.激活.创建报表.绑定数据源以及发布等内容.本 ...
- ActiveReports 报表控件官方中文入门教程 (2)-创建、数据源、浏览以及发布
本篇文章将阐述首次使用 ActiveReports 报表控件 的方法,包括添加报表文件.绑定数据源以及如何发布报表等内容. ActiveReports 报表控件官方中文入门教程 (1)-安装.激活以及 ...
- Git教程(1)官网及官方中文教程
1,Git官网 http://www.git-scm.com/ 2,官方中文教程 http://git-scm.com/book/zh/v2
- ActiveReports 报表控件官方中文新手教程 (1)-安装、激活以及产品资源
本系列文章主要是面向初次接触 ActiveReports 产品的用户,能够帮助您在三天之内轻松的掌握ActiveReports控件的基本用法,包含安装.激活.创建报表.绑定数据源以及公布等内容. ...
- GO语言官方中文教程!
官方中文教程网址:https://tour.go-zh.org/basics/1 推荐理由:简洁,一句废话没有,对于初学者可以让大家快速掌握GO语言! 注意问题:如果不能访问,你懂的! 教程截图:
- struts2官方 中文教程 系列十四:主题Theme
介绍 当您使用一个Struts 2标签时,例如 <s:select ..../> 在您的web页面中,Struts 2框架会生成HTML,它会显示外观并控制select控件的布局.样式和 ...
- struts2官方 中文教程 系列十三:利用通配符选择方法
介绍 在本教程中,我们将介绍如何在struts.xml中配置action节点以达到仅使用一个action节点将几个不同的url关联到特定action类的特定方法.这样做的目的是减少struts.xml ...
随机推荐
- lintcode-223-回文链表
223-回文链表 设计一种方式检查一个链表是否为回文链表. 样例 1->2->1 就是一个回文链表. 挑战 O(n)的时间和O(1)的额外空间. 标签 链表 思路 找到链表中点后,翻转链表 ...
- 【Leetcode】 328. Odd Even Linked List
Given a singly linked list, group all odd nodes together followed by the even nodes. Please note her ...
- php判断是否https
function is_https() { if ( !empty($_SERVER['HTTPS']) && strtolower($_SERVER['HTTPS']) !== 'o ...
- a标签不能嵌套
<a href='http://www.baidu.com'> <a href='http://www.google.com'></a> </a> &l ...
- Catalan数,括号序列和栈
全是入门的一些东西.基本全是从别处抄的. 栈: 支持单端插入删除的线性容器. 也就是说,仅允许在其一端加入一个新元素或删除一个元素. 允许操作的一端也叫栈顶,不允许操作的一端也叫栈底. 数个箱子相叠就 ...
- 51nod 1292 字符串中的最大值V2(后缀自动机)
题意: 有一个字符串T.字符串S的F函数值可以如下计算:F(S) = L * S在T中出现的次数(L为字符串S的长度).求所有T的子串S中,函数F(S)的最大值. 题解: 求T的后缀自动机,然后所有每 ...
- 2个 List<T>进行数据合并
var userF = new List<User>(); User m1 = new User() { Id = "0" }; userF.Add(m1); var ...
- 【CF600E】Lomsat gelral(dsu on tree)
[CF600E]Lomsat gelral(dsu on tree) 题面 洛谷 CF题面自己去找找吧. 题解 \(dsu\ on\ tree\)板子题 其实就是做子树询问的一个较快的方法. 对于子树 ...
- Unity3D for VR 学习(3): 暴风魔镜PC Input小改造–自己动手、丰衣足食
在做手游的时候,80%时间是在PC调试的,例如业务逻辑.AI算法.核心玩法等. 拿到魔镜提供的demo,晕了,必须得安装到Android机器上,才能调试,究其原因,有三: 需要用到手机陀螺仪 需要用到 ...
- 康托展开&康托逆展开 的写法
康托展开 康托展开解决的是当前序列在全排序的名次的问题. 例如有五个数字组成的数列:1,2,3,4,5 那么1,2,3,4,5就是全排列的第0个[注意从0开始计数] 1,2,3,5,4就是第1个 1, ...