Drag and Drop in DataGridView (Windows Form)

P

Patrick A

All,

(Please pardon the cross-post, but I am not sure of the best place to
ask. Direction would be most welcome.)

I've used other (C#) code snippets found around here to try to
implement drag-n-drop in a DataGridView, to give the user a way to
sort the data in the grid.


I'm mostly there - I am able to drag, see the cursor change to drag,
and when I let go, the row I dragged leaves it's original spot.


Problem is, it "drops" into a black hole.
Here's the line I'm trying to "drop" with;

TBL_TimersDataGridView.Rows.Insert(RowIndexOfItemUnderMouseToDrop,
RowToMove)

The full code is below.
Can anyone tell me what I'm doing wrong?

Thanks,
Patrick


***************************************************************************­
***********************************


Private Sub TBL_TimersDataGridView_DragDrop(ByVal sender As Object,
ByVal e As System.Windows.Forms.DragEventArgs) Handles
TBL_TimersDataGridView.DragDrop
Dim ClientPoint As Point =
TBL_TimersDataGridView.PointToClient(New Point(e.X, e.Y))
RowIndexOfItemUnderMouseToDrop =
TBL_TimersDataGridView.HitTest(ClientPoint.X, ClientPoint.Y).RowIndex
If e.Effect = DragDropEffects.Move Then
Dim RowToMove As DataGridViewRow =
TBL_TimersDataGridView.Rows(RowIndexFromMouseDown) 'Gets row to move.


TBL_TimersDataGridView.Rows.RemoveAt(RowIndexFromMouseDown) 'Removes
the row when you finish drag-drop.


TBL_TimersDataGridView.Rows.Insert(RowIndexOfItemUnderMouseToDrop,
RowToMove) 'Does not work...
End If
End Sub
 
P

PvdG42

Patrick A said:
All,

(Please pardon the cross-post, but I am not sure of the best place to
ask. Direction would be most welcome.)
<snip>

I'll address your first question. As you are using C#, I suggest this news
group as the place where you'll find the best help:

microsoft.public.dotnet.languages.csharp

Also, you're not cross posting (addressing multiple groups in the same
message, and acceptable if all groups are topical and restraint is
exercised) as you seem to think. If you sent the same content to multiple
groups in separate messages, that's multi-posting and is a definite no-no.
The good thing about *limited, topical* cross posting is that responses
automatically appear in all addressed groups, whereas my response to you
will appear only in dotnet.general, and not in any other groups where your
posted separate copies.
 
P

Patrick A

Thanks for your reply. I wasn't clear - I am using VB - I
"translated" the C# into VB.

And thanks for the explanatiobn of "limited, topical" cross-posting,
I'll do that next time.

Patrick
 
P

PvdG42

Patrick A said:
Thanks for your reply. I wasn't clear - I am using VB - I
"translated" the C# into VB.

And thanks for the explanatiobn of "limited, topical" cross-posting,
I'll do that next time.

Patrick
Then, the group you need is:

microsoft.public.dotnet.languages.vb
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top