【问题标题】:How to handle row double click in GridView?如何处理 GridView 中的行双击?
【发布时间】:2013-12-09 21:21:25
【问题描述】:

我有一个 DevExpress GridControl。我想用它处理一行双击。我愿意:

        private void УчасткиGridControlDoubleClick(object sender, EventArgs e)
    {
        GridControl grid = sender as GridControl;
        DXMouseEventArgs args = e as DXMouseEventArgs;
        var hitInfo = grid.Views[0].CalcHitInfo(args.Location) as GridHitInfo;

        MessageBox.Show(hitInfo.HitTest.ToString());
    }

但我只有在单击行指示器或列标题时才会收到消息。
如何处理对行单元格的点击?

【问题讨论】:

    标签: c# gridview devexpress


    【解决方案1】:

    基本上你应该处理 GridView.DoubleClick

    private void УчасткиGridControlDoubleClick(object sender, EventArgs e) {
    
    GridView view = (GridView)sender;
    
    Point pt = view.GridControl.PointToClient(Control.MousePosition);
    
    DoRowDoubleClick(view, pt);
    
    }
    
       private static void DoRowDoubleClick(GridView view, Point pt) {
    
    GridHitInfo info = view.CalcHitInfo(pt);
    
    if(info.InRow || info.InRowCell) {
    
        string colCaption = info.Column == null ? "N/A" : info.Column.GetCaption();
    
        MessageBox.Show(string.Format("DoubleClick on row: {0}, column: {1}.", info.RowHandle, colCaption));
    
    }
    

    更多请参考Devexpress Double Click

    注意:此代码仅在您的网格不可编辑

    时有效

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-05-29
      • 2014-01-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多