下面是笔者自己总结的使用 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经验小结(官方中文文献经典资料技巧)的更多相关文章

  1. DevExpress使用教程合集

    博客园把网站屏蔽掉了.So,做了点小手脚.点击进入网址后把URL中的“20%”去掉即可. DevExpress Universal Subscription是DevExpress旗下重要的用户界面控件 ...

  2. ActiveReports 报表控件官方中文入门教程 (3)-如何选择页面报表和区域报表

    本篇文章将介绍区域报表和页面报表的常见使用场景.区别和选择报表类型的一些建议,两种报表的模板设计.数据源(设计时和运行时)设置.和浏览报表的区别. ActiveReports 报表控件官方中文入门教程 ...

  3. ActiveReports 报表控件官方中文入门教程 (1)-安装、激活以及产品资源

    本系列文章主要是面向初次接触 ActiveReports 产品的用户,可以帮助您在三天之内轻松的掌握ActiveReports控件的基本使用方法,包括安装.激活.创建报表.绑定数据源以及发布等内容.本 ...

  4. ActiveReports 报表控件官方中文入门教程 (2)-创建、数据源、浏览以及发布

    本篇文章将阐述首次使用 ActiveReports 报表控件 的方法,包括添加报表文件.绑定数据源以及如何发布报表等内容. ActiveReports 报表控件官方中文入门教程 (1)-安装.激活以及 ...

  5. Git教程(1)官网及官方中文教程

    1,Git官网 http://www.git-scm.com/ 2,官方中文教程 http://git-scm.com/book/zh/v2

  6. ActiveReports 报表控件官方中文新手教程 (1)-安装、激活以及产品资源

     本系列文章主要是面向初次接触 ActiveReports 产品的用户,能够帮助您在三天之内轻松的掌握ActiveReports控件的基本用法,包含安装.激活.创建报表.绑定数据源以及公布等内容. ...

  7. GO语言官方中文教程!

    官方中文教程网址:https://tour.go-zh.org/basics/1 推荐理由:简洁,一句废话没有,对于初学者可以让大家快速掌握GO语言! 注意问题:如果不能访问,你懂的! 教程截图:

  8. struts2官方 中文教程 系列十四:主题Theme

    介绍 当您使用一个Struts 2标签时,例如 <s:select ..../>  在您的web页面中,Struts 2框架会生成HTML,它会显示外观并控制select控件的布局.样式和 ...

  9. struts2官方 中文教程 系列十三:利用通配符选择方法

    介绍 在本教程中,我们将介绍如何在struts.xml中配置action节点以达到仅使用一个action节点将几个不同的url关联到特定action类的特定方法.这样做的目的是减少struts.xml ...

随机推荐

  1. JavaScript DOM编程艺术学习笔记-第二章JavaScript语法

    一.JavaScript示例 <!DOCTYPE html> <html lang="en"> <head> <meta charset= ...

  2. pro9笔记

  3. 2nd scrum站立会议

    scrum站立会议 站立会议是让团队成员每日面对面站立互相交流他们所承担任务的进度.它的一个附带好处是让同组成员了解到工作的情况.本质上是为了团队交流,不是会议报告. 站立会议的目的: 1.让整个团队 ...

  4. 明白JavaScript原型链和JavaScrip继承

    原型链是JavaScript的基础性内容之一.其本质是JavaScript内部的设计逻辑. 首先看一组代码: <script type="text/javascript"&g ...

  5. c 读取文本

    #include <stdio.h> #include <stdlib.h> #include <string.h> #define max 10 #define ...

  6. java 基础 --File

    1, 创建文件 File file = new File(path); file.createNewFile(); //如果路径不存在,会抛异常 file.mkdir();//如果路径不存在,返回fa ...

  7. MVC与MVP简单对比

    在Java平台,基于Spring等技术的MVC框架已经走向成熟:在.NET平台,微软也推出了MVC.MVP Framework,MVP不同于MVC的地方,关键在于,View不再显示的依赖于Busine ...

  8. Qt中父子widget的事件传递

    以前我一直以为:在父widget上摆一个子widget后,当click子widget时:只会进入到子widget的相关事件处理函数中,比如进入到mousePressEvent()中, 而不会进入到父w ...

  9. android面试(3)---基本问题

    1.值类型,引用类型? 基本数据类型都是值类型:byte,short,int,long,float,double,char,boolean 其他类型都是引用类型. 引用类型在传入方法是,方法内部对引用 ...

  10. SPA页面性能优化

    1. 快速启动 —— 极大提升加载速度(important) 快速启动应用,并行发起 Bundle 加载&拉取初始数据.相信大家已经发现了,SPA 初始化时候,不得不等待 bundle 返回并 ...