DevExpress的GridControl拖拽DraopDown后计算HitInfo的RowHandle错误

  最近在使用GridControl的拖拽功能时候遇到了一个问题:当GridControl触发DropDrop事件时,计算对应的RowHandle错误。当把鼠标拖拽到GridView一个单元格的靠上面的部分时,显示为较小的一个RowHandle;当拖拽到单元格靠下面的部分的时候,显示为较大的一个RowHandle;而且两个RowHandle的值都不对。

  经在网上查资料得到如下解决办法(DevExpress版本11.2):

  

private void gridControl1_DragDrop(object sender, DragEventArgs e)
        {
            GridControl grid = sender as GridControl;
            Point pt = grid.PointToClient(new Point(e.X, e.Y));
            GridView view = grid.GetViewAt(pt) as GridView;
            if (view == null)
                return;
            GridHitInfo hitInfo = gridView1.CalcHitInfo(pt);
            if (hitInfo.InRowCell)
                MessageBox.Show(hitInfo.RowHandle.ToString() + "----" + hitInfo.RowHandle.ToString());

 

 

    至于为啥这么做,还不到原因  :-D

posted on 2017-05-04 08:46  王延刚  阅读(914)  评论(0编辑  收藏  举报