C#datagridview在拖放值之前获取当前单元格值

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#datagridview在拖放值之前获取当前单元格值相关的知识,希望对你有一定的参考价值。

我有一个dgv和一个Richtextbox。用户可以从rtb中选择一个名称,然后拖动到dgv中的单元格中。如果他们放入的当前单元格中没有值,我的工作正常。但是,如果单元格中有一个值,并且它们在该单元格上下降了一个值,则我会丢失先前的值。这是我的DragDrop代码

if (e.Data.GetDataPresent(typeof(System.String)))
        
            Point clientPoint = gridViewRaces.PointToClient(new Point(e.X, e.Y));
            gridViewRaces.Rows[gridViewRaces.HitTest(clientPoint.X,
            clientPoint.Y).RowIndex].Cells[gridViewRaces.HitTest(clientPoint.X,
            clientPoint.Y).ColumnIndex].Value =
            (System.String)e.Data.GetData(typeof(System.String));
        

在将值插入到单元格中之前,我希望能够检索当前值(如果存在)。

string currentValue = gridViewRaces.Rows[e.Y].Cells[e.X].Value.ToString();

任何帮助将不胜感激!

答案

经过数小时的梳理,我终于意识到我在整个F ***** G时间里都有答案。

这是插入要拖动的值的代码-

if (e.Data.GetDataPresent(typeof(System.String)))
    
        Point clientPoint = gridViewRaces.PointToClient(new Point(e.X, e.Y));
        gridViewRaces.Rows[gridViewRaces.HitTest(clientPoint.X,
        clientPoint.Y).RowIndex].Cells[gridViewRaces.HitTest(clientPoint.X,
        clientPoint.Y).ColumnIndex].Value =
        (System.String)e.Data.GetData(typeof(System.String));
    

并在插入新值之前获得先前的值,我要做的就是这个

string previousValue = gridViewRaces.Rows[gridViewRaces.HitTest(clientPoint.X,
            clientPoint.Y).RowIndex].Cells[gridViewRaces.HitTest(clientPoint.X,
            clientPoint.Y).ColumnIndex].Value.ToString();

            gridViewRaces.Rows[gridViewRaces.HitTest(clientPoint.X,
            clientPoint.Y).RowIndex].Cells[gridViewRaces.HitTest(clientPoint.X,
            clientPoint.Y).ColumnIndex].Value =
            (System.String)e.Data.GetData(typeof(System.String));

希望这可以在某时有所帮助。

以上是关于C#datagridview在拖放值之前获取当前单元格值的主要内容,如果未能解决你的问题,请参考以下文章

JavaFX在拖放完成后获取拖放目标文件夹

获取鼠标在拖放 jquery 上的位置

C#在拖放时在ListView中实现自动滚动

HTML5 DnD - 为啥在拖放元素后重影图像只能按预期工作?

为什么我的图像在拖放时会在我的AnchorPane中重新定位?

Mudblazor - 在拖放区域内单击