Suggestions or work around for massive drag&drop events?

Hello,

does someone has experience with big drag and drop events in grid/treegrid?

I got a big tree with like 30~40 columns and up to 10000 elements in the hierarchy.
There are sometimes nodes with 100s and 1000s of children.

I got nearly everything pretty quickly working: Edits, deletes, loading, saving of changes, loading with changes. I use the dataprocessor to tell the server what the user did and most of the work is done on the server side.

Only drag & drop of those big nodes I don’t know how to handle.

At the moment I use the “send all data at once” mode instead of sending every single change as single request, with this I’ve got a bit more performance on the server side.

dp.setTransactionMode("GET",true);

But the main problem seems to be the client side.
The rendering seems to be very slow. Even in fast browsers like FF and Chome I get script timeout messages.

My questions would be:

  1. is there a known work around to speed up things?

  2. is there a known fix to let the script run longer without error messages?

  3. can I make the dataprocessor send the data on the Drag&Drop event without rendering?
    I got an idea for a work around, but I would need some input how to do certain things:
    I thought of checking how big a drag & drop event is. If it is more than, lets say 200 elements, I want the dataprocessor to send the drag & drop data to the database, then the XML structure will be reloaded from the database --> no rendering on the client. Is that possible?

To explain the question 3 in more detail:
I would need an event before the rendering and after the point where the drag&drop event is done (the user releases mouse button)

At the moment:
mygrid.attachEvent(“onDrop”,
function doOnDrop(sid, tid, did, sgrid, tgrid) {
alert(“drop”); /<-- This is showing when the rendering is already done/

That would be too late.

I need a possibility to

  • deactivate/skip the rendering
  • send the data of all the changes (manually or via dataprocessor)
  • reload the XML from database
  • deactivate/skip the rendering
    Unfortunately such feature is not available

  • send the data of all the changes (manually or via dataprocessor)
    Please, try to use the dataprocessor with the following method:
    mydp.setUpdateMode(“cell”,true)

  • reload the XML from database
    Please, try to use the dhtmlxconnector
    docs.dhtmlx.com/doku.php?id=dhtm … ctor:start