DevExpress之GridControl

引用自:http://blog.csdn.net/mask_soft/article/details/8985454

GridView右键菜单

一、添加右键菜单

1.在VS工具箱中的“菜单和工具栏”找到ContextMenuStrip控件,双击添加。

2.点击ContextMenuStrip右上方的小三角形,打开编辑项,可以添加菜单项。至于菜单点击事件,这里就不多说了。

3.选择gridControl(注意这里不是gridView的属性),在属性中可以找到ContextMenuStrip属性,设置成刚添加的ContextMenuStrip。

这样的话,运行起来右击表格就可以看到右键菜单了。

二、是否可用设置

在不同情况下,例如选中行的个数以及内容的不同,右键菜单的菜单项是否可用需要作出判断,

这里需要用到gridView的PopupMenuShowing这个事件。也就是在菜单出现之前用户点击右键之后,来判断一下选择了几行,从而决定菜单项是否可用。

  1. private void gridView_PopupMenuShowing(object sender, DevExpress.XtraGrid.Views.Grid.PopupMenuShowingEventArgs e)

  2. {

  3. //获取选择的行数

  4. int select = gridView.SelectedRowsCount;

  5. itemOpen.Enabled = false;

  6. itemDelete.Enabled = false;

  7. if(select == 1)

  8. {

  9. itemOpen.Enabled = true;

  10. itemDelete.Enabled = true;

  11. }

  12. else if(select > 1)

  13. {

  14. itemDelete.Enabled =true;

  15. }

  16. }

设置选中行的背景色、而不改变前景色。


  1. EnableAppearanceFocusedCell = False, EnableAppearanceFocusedRow = False

  2. private void gdvMarket_RowCellStyle(object sender, RowCellStyleEventArgs e)

  3. {

  4. if (e.RowHandle == gdvMarket.FocusedRowHandle)

  5. {
  6. e.Appearance.BackColor=Color.CadetBlue;

  7. ;

  8. }

  9. }

  10. 单元格颜色的设置。


    1. //最低价颜色控制
    2. DevExpress.XtraGrid.StyleFormatCondition lowPrice = new DevExpress.XtraGrid.StyleFormatCondition();

    3. lowPrice.Column = LowPrice;

    4. lowPrice.Appearance.ForeColor = Color.Red;

    5. lowPrice.Appearance.Options.UseForeColor = true;

    6. lowPrice.Condition = DevExpress.XtraGrid.FormatConditionEnum.Expression;

    7. lowPrice.Expression = "[LowPrice] > [PrevPrice]";

    8. this.gdvMarket.FormatConditions.Add(lowPrice);
    9. //涨跌颜色控制

    10. DevExpress.XtraGrid.StyleFormatCondition range = new DevExpress.XtraGrid.StyleFormatCondition();

    11. range.Column = Range;

    12. range.Appearance.ForeColor = Color.Red;

    13. range.Appearance.Options.UseForeColor = true;

    14. range.Condition = DevExpress.XtraGrid.FormatConditionEnum.Greater;

    15. range.Value1 = 0;

    16. this.gdvMarket.FormatConditions.Add(range);

    17. 单元格字符格式化方式


      1. this.gdvMarket.Columns["RangePercent"].DisplayFormat.FormatType = DevExpress.Utils.FormatType.Custom;

      2. this.gdvMarket.Columns["RangePercent"].DisplayFormat.FormatString = "{0}%";  
        1. 设置列背景色


          1. this.gdvMarket.Columns["Amount"].AppearanceCell.BackColor = Color.AliceBlue;

          2. this.gdvMarket.Columns["Amount"].AppearanceCell.Options.UseBackColor = true;

DevExpress之GridControl,布布扣,bubuko.com

时间: 2024-10-13 21:49:50

DevExpress之GridControl的相关文章

[WinForm][DevExpress]自定义GridControl中按钮文字内容

最近项目开发中,使用到了GridControl的FindPanel,这样可以很好的对数据进行筛选,可是所展现的按钮文字是英文,如图: 那怎么定义两个按钮问题,以符合项目需求了?经过一番搜索发现利用GridLocalizer可以很好实现: 核心代码: public class BuilderGridLocalizer : GridLocalizer { Dictionary<GridStringId, string> CusLocalizedKeyValue = null; /// <su

DevExpress的GridControl的实时加载数据解决方案(取代分页)

http://blog.csdn.net/educast/article/details/4769457 evExpress是一套第三方控件 其中有类似DataGridView的控件 今天把针对DevExpress.XtraGrid.GridControl实时加载数据的功能开发出来了 分享给大家 欢迎讨论 Code using System; using System.Collections.Generic; using System.Linq; using System.Text; using

devexpress中gridcontrol 一些样式改变

改变footer为扁平化效果 整个footer背景色CustomDrawFootere.Appearance.BackColor = Color.Transparent; e.Appearance.DrawBackground(e.Graphics, e.Cache, e.Bounds); e.Handled = true; 单个列footer背景CustomDrawFooterCelle.Appearance.BackColor = Color.Lavender; e.Appearance.D

DevExpress中GridControl的属性设置

1.隐藏最上面的GroupPanel gridView1.OptionsView.ShowGroupPanel=false; 2.得到当前选定记录某字段的值 sValue=Table.Rows[gridView1.FocusedRowHandle][FieldName].ToString(); 3.数据只读 gridView1.OptionsBehavior.Editable=false; 4.不显示MasterDetailView gridView1.OptionsDetail.EnableM

devexpress中gridcontrol头部添加垂直线(右边框)

winform开发,用devexpress中的gridcontrol控件,头部默认是3D样式,当客户希望像内容一样扁平化显示且需要添加垂直线(右边框)时恶梦开始了..经过一阵摸索发现可以这样解决: 1.设置GridControl的GridView控件的PaintStyleName属性为Web 2.为GridControl的GridView控件添加CustomDrawColumnHeader事件,参考代码如下: private void gridView1_CustomDrawColumnHead

DevExpress的GridControl控件更新數據問題解決辦法

開發WPF程序時,使用Devexpress的GridControl控件用ItemSource綁定數據,在頁面進行編輯時,當屬性繼承INotifyPropertyChanged接口時會同步更新後臺數據.今天在開發時遇到一種情況,當通過GridControl中Row上Button[Command]改變行內數據,也就是binding的Detail數據已改變,這時NotifyPropertyChanged有觸發,但改變的行數據不會同步更新到UI上,目前測試有兩種方式進行解決. 1.直接new 一個新的行

DevExpress.XtraGrid.GridControl 实现自定义tooltip

DevExpress.XtraGrid.GridControl 控件默认的tooltip显示的每一个单元格的文本值,但是实际工作中会出现各种需求.我这里就有一个列是折扣率显示的值是0-1之间的两位小数,比如说0.55想要显示成五五折.那就需要自己来做一下处理了(效果看下图) 首先.在工具栏中找到ToolTipControllerk控件,并且设置GridControl.ToolTipController=MainGvTool              然后再添加的ToolTipController

devexpress表格gridcontrol实现列统计,总计,平均,求和等。

1.在许多项目中,经常要实现对某些列的统计.devexpress控件gridcontrol实现这些功能只需要设置某些属性,就可以达到要求了.以下例举了一个统计班级总数,人数总计,分数总计的案例.效果图如下: 2.使用的代码基本上只有绑定数据,案例数据代码如下: DataTable dt = new DataTable(); dt.Columns.Add("A1"); dt.Columns.Add("A2"); dt.Columns.Add("A3"

devexpress表格gridcontrol实现分组,并根据分组计算总计及平均值

1.devexpress表格控件gridcontrol提供了强大的分组功能,你几乎不用写什么代码就可以实现一个分组功能,并且可根据分组计算总计和平均值.这里我例举了一个实现根据班级分组计算班级总人数,总分,平均分的案例.效果图如下: 2.实现本功能基本没有代码,只要绑定数据就可以.这是数据代码: DataTable dt = new DataTable(); dt.Columns.Add("A1"); dt.Columns.Add("A2"); dt.Columns