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在拖放值之前获取当前单元格值的主要内容,如果未能解决你的问题,请参考以下文章
HTML5 DnD - 为啥在拖放元素后重影图像只能按预期工作?