注册 登录  
 加关注
查看详情
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

程序员驿站

淘宝店:http://shop106888457.taobao.com

 
 
 

日志

 
 

DevExpress GridControl使用方法总结  

2013-07-17 17:49:00|  分类: DEVEXPRESS |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

概述:本文总结了十七种DevExpress GridControl最常用的方法与技巧,包括如何新增记录、如何过滤列头、如何查询定位、如何显示滚动条等。

一、如何解决单击记录整行选中的问题

View->OptionsBehavior->EditorShowMode 设置为:Click

二、如何新增一条记录

(1)、gridView.AddNewRow()

(2)、实现gridView_InitNewRow事件

三、如何解决GridControl记录能获取而没有显示出来的问题

gridView.populateColumns();

四、如何让行只能选择而不能编辑(或编辑某一单元格)

(1)、View->OptionsBehavior->EditorShowMode 设置为:Click

(2)、View->OptionsBehavior->Editable 设置为:false

五、如何禁用GridControl中单击列弹出右键菜单

设置Run Design->OptionsMenu->EnableColumnMenu 设置为:false

六、如何隐藏GridControl的GroupPanel表头

设置Run Design->OptionsView->ShowGroupPanel 设置为:false

七、如何禁用GridControl中列头的过滤器

过滤器如下图所示:

DevExpress GridControl使用方法总结 - dingtao-wgs - 程序员驿站

 

设置 Run Design->OptionsCustomization->AllowFilter 设置为:false

八、如何在查询得到0条记录时显示自定义的字符提示/显示

如图所示:

DevExpress GridControl使用方法总结 - dingtao-wgs - 程序员驿站

 

方法如下:

//When no Records Are Being Displayed
private void gridView1_CustomDrawEmptyForeground(object sender, CustomDrawEventArgs e)
{
     //方法一(此方法为GridView设置了数据源绑定时,可用)
     ColumnView columnView = sender as ColumnView;
     BindingSource bindingSource = this.gridView1.DataSource as BindingSource;
     if(bindingSource.Count == 0)
     {
          string str = "没有查询到你所想要的数据!";
          Font f = new Font("宋体", 10, FontStyle.Bold);
          Rectangle r = new Rectangle(e.Bounds.Top + 5, e.Bounds.Left + 5, e.Bounds.Right - 5, e.Bounds.Height - 5);
          e.Graphics.DrawString(str, f, Brushes.Black, r);
     }
     //方法二(此方法为GridView没有设置数据源绑定时,使用,一般使用此种方法) 
     if (this._flag)
     {
          if (this.gridView1.RowCount == 0)
          {
               string str = "没有查询到你所想要的数据!";
               Font f = new Font("宋体", 10, FontStyle.Bold);
               Rectangle r = new Rectangle(e.Bounds.Left + 5, e.Bounds.Top + 5, e.Bounds.Width - 5, e.Bounds.Height - 5);
               e.Graphics.DrawString(str, f, Brushes.Black, r);
          }
     }
}

九、如何显示水平滚动条?

设置this.gridView.OptionsView.ColumnAutoWidth = false;

十、如何定位到第一条数据/记录?

设置 this.gridView.MoveFirst()

十一、如何定位到下一条数据/记录?

设置 this.gridView.MoveNext()

十二、如何定位到最后一条数据/记录?

设置 this.gridView.MoveLast()

十三、设置成一次选择一行,并且不能被编辑

this.gridView1.FocusRectStyle = DevExpress.XtraGrid.Views.Grid.DrawFocusRectStyle.RowFocus;
this.gridView1.OptionsBehavior.Editable = false;
this.gridView1.OptionsSelection.EnableAppearanceFocusedCell = false;

十四、如何显示行号?

this.gridView1.IndicatorWidth = 40;
//显示行的序号
private void gridView1_CustomDrawRowIndicator(object sender, RowIndicatorCustomDrawEventArgs e)
{
     if (e.Info.IsRowIndicator && e.RowHandle>=0)
     {
          e.Info.DisplayText = (e.RowHandle + 1).ToString();
     }
}

十五、如何让各列头禁止移动?

设置gridView1.OptionsCustomization.AllowColumnMoving = false;

十六、如何让各列头禁止排序?

设置gridView1.OptionsCustomization.AllowSort = false;

十七、如何禁止各列头改变列宽?

设置gridView1.OptionsCustomization.AllowColumnResizing = false;


  评论这张
 
阅读(498)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018