DevExpress 从一个XtraGridControl 拖拽行到另外一个

using DevExpress.XtraGrid;

using DevExpress.XtraGrid.Views.Base;

using DevExpress.XtraGrid.Views.Grid;

using DevExpress.XtraGrid.Views.Grid.ViewInfo;



GridHitInfo downHitInfo = null;



private void view_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e) {

    GridView view = sender as GridView;

    downHitInfo = null;

    GridHitInfo hitInfo = view.CalcHitInfo(new Point(e.X, e.Y));

    if(Control.ModifierKeys != Keys.None) return;

    if(e.Button == MouseButtons.Left && hitInfo.RowHandle >= 0)

        downHitInfo = hitInfo;

}



private void view_MouseMove(object sender, System.Windows.Forms.MouseEventArgs e) {

    GridView view = sender as GridView;

    if(e.Button == MouseButtons.Left && downHitInfo != null) {

        Size dragSize = SystemInformation.DragSize;

        Rectangle dragRect = new Rectangle(new Point(downHitInfo.HitPoint.X - dragSize.Width / 2,

            downHitInfo.HitPoint.Y - dragSize.Height / 2), dragSize);



        if(!dragRect.Contains(new Point(e.X, e.Y))) {

            DataRow row = view.GetDataRow(downHitInfo.RowHandle);

            view.GridControl.DoDragDrop(row, DragDropEffects.Move);

            downHitInfo = null;

            DevExpress.Utils.DXMouseEventArgs.GetMouseArgs(e).Handled = true;

        }

    }

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值