edTxt Bug or Feature -> not sure

Hi !

If you set
enableEditEvents(true,true,false);
to enable the edit mode if you click with the mouse on a cell, the edtxt has a bug.

If you have edited a cell and then click in another row, changes won’t be saved.
The system doesn’t see the just changed row as “dirty”.


Is this a bug or a feature ?

U. Fiege

Unfortunately the problem can’t be reconstructed locally , please check attached sample.
If problem still occurs for you - please provide any kind of sample where it can be reconstructed ( I need at least used JS code and XML to reconstruct the situation )

1182256814.zip (45.3 KB)

Hi !
Attached you will find a modified version of your sample.
I created the original version based on your .net sample and it figures out, that this line causes the problem, which invokes the server resquest:

timeoutHandler = setTimeout(function(){_sendServerUpdateRequest(rowId)},0);
                   
I just found out, if I use this, the problem disappears:

window.setTimeout(function(){_sendServerUpdateRequest(rowId)},0);


But back to the sample, to see the problem, go to a cell and edit it’s contnent and press cursor up.
A checkbox shows up that emulates the server request.
Do the same and don’t press cursor up, use the mouse to click any cell in another row.
Ther alert box doesn’t show up.

I can reproduce that in IE 6 & FF 1.5.0.12 (nothing else tested !)


Thanks,
U. Fiege

1182256814_modified.zip (46.2 KB)

Problem caused by used custom js code, while it is mostly correct for mode with double-click cell activation, in single click mode it doesn’t work as expected.
Basically to solve problem you can just comment the next line of code
        clearTimeout(timeoutHandler)

This will not harm any other logic, but remove your problem.
( The reason of problem that initiating of new edit operation and closing previously active cell occured in same moment of time, so the call to the sendServerUpdateRequest function prepared while closing cell and immideatly cleared after activating new one, without having time to really call  the function )