2
当用户双击列标题时,我必须检查/取消选中列中的所有复选框(切换)。DevExpress DXGrid列标题双击事件
如何在DevExpress DxGrid控件中实现此行为?
我已经搜索了DevExpress支持论坛,但是我还没有找到解决方案。
另外,我正在研究MVVM模式。
当用户双击列标题时,我必须检查/取消选中列中的所有复选框(切换)。DevExpress DXGrid列标题双击事件
如何在DevExpress DxGrid控件中实现此行为?
我已经搜索了DevExpress支持论坛,但是我还没有找到解决方案。
另外,我正在研究MVVM模式。
这种情况适用于的WinForms,WPF中没有测试过,我贴可能是引导您一些灯光:
有一种变通方法来做到这一点时,您必须实现yourGrid_DoubleClick
事件处理程序,然后计算出鼠标点击hit Info
,命中info对象会告诉你,如果双击的是一列,像这样:
private void yourGridViewName_DoubleClick(object sender, EventArgs e)
{
DevExpress.XtraGrid.Views.Grid.GridView sndr =
sender as DevExpress.XtraGrid.Views.Grid.GridView;
DevExpress.Utils.DXMouseEventArgs dxMouseEventArgs =
e as DevExpress.Utils.DXMouseEventArgs;
DevExpress.XtraGrid.Views.Grid.ViewInfo.GridHitInfo hitInfo =
sndr.CalcHitInfo(dxMouseEventArgs.Location);
if (hitInfo.InColumn)
{
string x = hitInfo.Column.Name;
//Rest of your logic goes here after getting the column name,
//You might now loop over your grid's data and do your logic
}
}
但你要注意,这个动作不会阻止排序的列的标题做,您可能需要禁用此网格的排序
希望这对我有所帮助。
thanx的回复。我是使用鼠标双击event.when我双击一行我检查/取消选中所有选定的行的成功,但列cb检查/ unckeing我必须实现列标题双击事件,但不知道如何alredy。 .. – Syeda
使用相同的事件'grdiDoubleClick'并检查'hitInfo.InColumn'属性来指示用户'双击'列标题或网格的另一部分,这应该为你工作。 –