Dev控件GridControl设置了一个右键菜单 this.gridControl1.ContextMenu = contextMenu2; 而GridControl在运行排序的时候,即

gridview1->OptionsCustomization->AllowSort设为true时,控件自带一个英文的右键菜单如下
这样当点击表列头时,就会出现下面的两个右键菜单重叠问题。
 
这样当点击表列头时,就会出现下面的两个右键菜单重叠问题。
解决办法:

  privatevoid gridView1_MouseUp(object sender, MouseEventArgs e)
{
DevExpress.XtraGrid.Views.Grid.ViewInfo.GridHitInfo hi = this.gridView1.CalcHitInfo(e.Location);
if (!hi.InRow && e.Button == MouseButtons.Right)
{
ContextMenu emptyMenu = newContextMenu();
this.gridControl1.ContextMenu = emptyMenu;
}
else
{
this.gridControl1.ContextMenu = contextMenu2;
} } 下面是解决问题时的两篇参考文献:
Dev控件屏蔽gridcontrol和buttonedit右键菜单 dev控件屏蔽gridcontrol和buttonedit右键菜单,有需要的朋友可以参考下。 DevExpress的很多控件都自带右键菜单,菜单风格又与控件本身差别很多,感觉极不协调,而且都是英文,这篇文章讲述如何屏蔽这些右键菜单。
.gridcontrol的右键菜单
gridcontrol的右键菜单有两种,第一种是在表格列头右键弹出的菜单,第二种是点击表格列头边上的黑色“钉子”按钮弹出的菜单,
屏蔽它们只需修改属性即可:gridview1->OptionsCustomization->AllowFilter和gridview1->OptionsCustomization->AllowSort改为false
.buttonEdit和pictureedit的右键菜单
buttonEdit以及pictureEdit的右键菜单无法通过直接设置属性屏蔽,想屏蔽它们需要两行代码:
ContextMenu emptyMenu = new ContextMenu();buttonedit.Properties.ContextMenu = emptyMenu;
即自己定义一个空的右键菜单,赋给buttonedit。 Dev GirdView 去掉系统菜单增加自定义菜单
Dev GirdView 去掉系统菜单增加自定义菜单
.获取gridview 事件如下:
private void gridView1_PopupMenuShowing(object sender, DevExpress.XtraGrid.Views.Grid.PopupMenuShowingEventArgs e)
{
if (e.MenuType == DevExpress.XtraGrid.Views.Grid.GridMenuType.Column)//判断是否是列标题的右键菜单
{
GridViewColumnMenu menu = e.Menu as GridViewColumnMenu;
//menu.Items.RemoveAt(6);//移除右键菜单中的第7个功能,从0开始
menu.Items.Clear();//清除所有功能
string strDisp =自己需要增加的右键信息
DXMenuItem dxm = new DXMenuItem();
dxm.Caption = strDisp;
menu.Items.Add(dxm);
}
}
.红色标示第一行清除dev自带的右键系统菜单。
.红色标示第二行增加自己定义的菜单,可以读取lst 或者datatable 数据集进行赋值。
.声明DXMenuItem dxm = new DXMenuItem();
.赋值 dxm.Caption = strDisp;
.增加自定义数据集 menu.Items.Add(dxm); .触发右键菜单
private void gridView1_MouseUp(object sender, MouseEventArgs e)
{
DevExpress.XtraGrid.Views.Grid.ViewInfo.GridHitInfo hi = this.gridView1.CalcHitInfo(e.Location);
if (e.Button == MouseButtons.Right)
{
this.popupMenu1.ShowPopup(Control.MousePosition);
}
}
 
 

gridcontrol的列头右键菜单问题的更多相关文章

  1. [WinForm]DataGridView列头右键菜单

    [WinForm]DataGridView列头右键菜单 前言 继续"不误正业" - - #,记录一下.有时候有这样的需求:DataGridView的列头菜单可以选择具体显示哪些列, ...

  2. Easyui datagrid 数据表格 表格列头右键菜单选择展示列 JS

    Easyui ,数据表格加载出来以后,在表格头右键,会有显示筛选的功能: 如图: 然后可以取消勾选,就变成下面这个样子: 功能的实现是通过重写了easyui 的 $.fn.datagrid.defau ...

  3. RDIFramework.NET框架Web中datagrid与treegrid控件自动生成右键菜单与列标题右键菜单

    在实际应用中常可以看到数据展示控件有右键菜单的功能,对应的列标题也可以右键弹出快捷菜单设置指定列的显示与隐藏等功能.在我们的RDIFramework.NET Web框架中,只要是使用了EasyUI的D ...

  4. [DevExpress]GridControl 同步列头checkbox与列中checkbox状态

    关键代码: /// <summary> /// 同步列头checkbox与列中checkbox状态 /// </summary> /// <param name=&quo ...

  5. 实现在DevExpress.XtraGrid.GridControl的列头绘制复选框以实现全选的功能

    首先新建一个Win Form测试项目,拖一个GridControl控件到窗体上. public partial class Form1 : Form { public Form1() { Initia ...

  6. DataGridView使用技巧九:DataGridView的右键菜单(ContextMenuStrip)

    DataGridView,DataGridViewColumn,DataGridViewRow,DataGridViewCell有ContextMenuStrip属性.可以通过设置ContextMen ...

  7. c#如何仅在datatgirdview控件的头部(列名处)添加右键菜单

    近期在弄ArcgisAE实习,其中有一个功能是需要操作图层的属性字段的,为了方便操作图层的属性,最好是在图层的属性表中,也就是在显示图层属性的DataGirdView控件的头部添加一个右键菜单来实现相 ...

  8. DataGridView右键菜单自定义显示及隐藏列

    WinForm程序中表单的列可自定义显示及隐藏,是一种常见的功能,对于用户体验来说是非常好的.笔者经过一段时间的摸索,终于实现了自己想要的功能及效果,现记录一下过程: 1.新建一个自定义控件,命名为: ...

  9. [DevExpress]GridControl 列头绘制Checkbox

    关键代码: /// <summary> /// 为列头绘制CheckBox /// </summary> /// <param name="view" ...

随机推荐

  1. 2 Advanced Read/Write Splitting with PHP’s MySQLnd

    原文地址需FQ才能看  https://blog.engineyard.com/2014/advanced-read-write-splitting-with-phps-mysqlnd In part ...

  2. 如何区别java中的public,protected,default,private

    ================Public====================== 1>首先我们介绍public关键字,从字面意义上出发,public意为公共的,可见它的访问权限是很宽松的 ...

  3. To pack or not to pack – MyISAM Key compression

    MyISAM storage engine has key compression which makes its indexes much smaller, allowing better fit ...

  4. POJ1904:King's Quest(强连通+思维)

    King's Quest Time Limit: 15000MS   Memory Limit: 65536K Total Submissions: 10352   Accepted: 3815 题目 ...

  5. linux 命令后台运行(转载)

    原文连接:https://www.cnblogs.com/lwm-1988/archive/2011/08/20/2147299.html 有两种方式: 1. command & : 后台运行 ...

  6. HDU2031 进制转换

    #include <iostream> #include "string" #include "cstdio" #include "cst ...

  7. 【51NOD-0】1130 N的阶乘的长度 V2(斯特林近似)

    [算法]数学 [题解]斯特林公式: #include<cstdio> #include<algorithm> #include<cmath> using names ...

  8. MYSQL查找总结

      a.条件判断where select * from 表 where id > 1 and name != 'alex' and num = 12; select * from 表 where ...

  9. 【转载】Lua中实现类的原理

    原文地址 http://wuzhiwei.net/lua_make_class/ 不错,将metatable讲的很透彻,我终于懂了. --------------------------------- ...

  10. C++ Vector 中自定义对象的排序

    需求: 客户端收到游戏中的所有联盟列表,现在需要按联盟的属性比如lv来进行排序. 数据存储: 每个联盟数据是一个对象,所有的联盟列表存在一个vector容器里面. 老的解决方法: 冒泡排序方法算法 新 ...