The Syncfusion native Blazor components library offers 70+ UI and Data Viz web controls that are responsive and lightweight for building modern web apps.
.NET PDF framework is a high-performance and comprehensive library used to create, read, merge, split, secure, edit, view, and review PDF files in C#/VB.NET.
I'm trying to implement drag and drop functionality with the unbound grid. What I'd like to be able to do is select multiple rows and drag those onto another control on my form. I've figured out this part of the process and it works.
However, I can't seem to figure out how to get
make the selection behavior similar to the way it works in Windows Explorer. If I have five rows in my datagrid, and I control-click rows 1, 3, and 5, if I don't drag on the last click but click on row 5 (or another selected row) and then drag, I lose the selection I last clicked, but get all the previous rows I selected. So the behavior in this scenario seems to exclude the last row selected, even though I clicked on it again with the control key pressed. Also, if I don't keep the control key pressed I'll only get the row I clicked and dragged (the grid will deselect the other previously selected rows).
If you try this with a group of files within Windows Explorer you can see that behavior and then compare it to how the grid works.
My question - how do I achieve similar selection behavior with the grid?
Thanks!
-Paul
ADAdministrator Syncfusion Team August 20, 2003 09:38 AM UTC
> I'm trying to implement drag and drop functionality with the unbound grid. What I'd like to be able to do is select multiple rows and drag those onto another control on my form. I've figured out this part of the process and it works.
>
> However, I can't seem to figure out how to get
> make the selection behavior similar to the way it works in Windows Explorer. If I have five rows in my datagrid, and I control-click rows 1, 3, and 5, if I don't drag on the last click but click on row 5 (or another selected row) and then drag, I lose the selection I last clicked, but get all the previous rows I selected. So the behavior in this scenario seems to exclude the last row selected, even though I clicked on it again with the control key pressed. Also, if I don't keep the control key pressed I'll only get the row I clicked and dragged (the grid will deselect the other previously selected rows).
>
> If you try this with a group of files within Windows Explorer you can see that behavior and then compare it to how the grid works.
>
> My question - how do I achieve similar selection behavior with the grid?
>
> Thanks!
> -Paul
The default behavior of the grid only initiates an OLE D&D if you mousedown when your see the D&D cursor. And you only see this cursor when you move the mouse to a border of the last selected range. This is why when you click somewhere else (any where other than the border of the last selection), then grid processes it as a new click.
If you want to initiate a D&D no matter where you click, I think you will have to handle the mouse events, and explicitly call DoDragDrop to initialte your own D&D. Attached is some sample code that handles starting a custom D&D when you mousedown (anywhere in the cell) and move a selected cell.