Hi Guys,
I post a new thread about incorrect cubegrid refresh behavior.
I already posted a thread about this but I was unable to reproduce a case in standalone. Now I understood exactly what the problem is and I'm looking for a fix.
My customer and myself still have a support contract with you and if you need more info you can just ask me.
We are using :
1. SmartClient Version: v9.1p_2014-12-05/PowerEdition Deployment (built 2014-12-05)
2. Chrome Version 44.0.2403.157 m
The test case is easy :
1) Open a new cube grid with and empty datasource (no record at all)
2) Do an update (or a mass update to let time growth) (~11s)
<classic_update.jpg>
3) Save it (saveAllEdits). (~11s)
<classic_save.jpg>
What happen :
Every update operation without record generate a whole grid refresh.
The save is also refreshing the whole grid for EVERY updated cell.
After that you can :
1) Update the previously saved values (~0.05s)
2) Save it (saveAllEdits) (~0.2s)
What happen when a record exist :
Every update are now really fast.
The save is also really fast.
What I've done right now is debugging the JS to get exactly what happen and I could find a part of the fix.
The updateEditValueNoRedraw method which do the update job but without the automatic refresh.
BUT for the save method I couldn't do anything as the code is encapsulated and was not reachable simply.
The test case with the custom method (NoRedraw) :
1) Open a new cube grid with and empty datasource (no record at all)
2) Do an update (or a mass update to let time growth) (~1.2s)
<fast_update.jpg>
3) Save it (saveAllEdits). (~11s)
<fast_save.jpg>
The save is still so long as the "add" operation call a full redraw of the grid for each updated cell.
You can see the debug point on the redraw method <add_oper_ds.jpg>
Which doesn't occurs when the operation is "update", a record already exists.
The test code is available here : <gdrive link removed see 3rd answer>
Thx for your help !
I post a new thread about incorrect cubegrid refresh behavior.
I already posted a thread about this but I was unable to reproduce a case in standalone. Now I understood exactly what the problem is and I'm looking for a fix.
My customer and myself still have a support contract with you and if you need more info you can just ask me.
We are using :
1. SmartClient Version: v9.1p_2014-12-05/PowerEdition Deployment (built 2014-12-05)
2. Chrome Version 44.0.2403.157 m
The test case is easy :
1) Open a new cube grid with and empty datasource (no record at all)
2) Do an update (or a mass update to let time growth) (~11s)
<classic_update.jpg>
3) Save it (saveAllEdits). (~11s)
<classic_save.jpg>
What happen :
Every update operation without record generate a whole grid refresh.
The save is also refreshing the whole grid for EVERY updated cell.
After that you can :
1) Update the previously saved values (~0.05s)
2) Save it (saveAllEdits) (~0.2s)
What happen when a record exist :
Every update are now really fast.
The save is also really fast.
What I've done right now is debugging the JS to get exactly what happen and I could find a part of the fix.
The updateEditValueNoRedraw method which do the update job but without the automatic refresh.
Code:
public native void setEditValueNoRedraw(int row, int col, String value) /*-{ var self = this.@com.smartgwt.client.widgets.BaseWidget::getOrCreateJsObj()(); self.setEditValue(row, col, value, true); }-*/;
The test case with the custom method (NoRedraw) :
1) Open a new cube grid with and empty datasource (no record at all)
2) Do an update (or a mass update to let time growth) (~1.2s)
<fast_update.jpg>
3) Save it (saveAllEdits). (~11s)
<fast_save.jpg>
The save is still so long as the "add" operation call a full redraw of the grid for each updated cell.
You can see the debug point on the redraw method <add_oper_ds.jpg>
Which doesn't occurs when the operation is "update", a record already exists.
The test code is available here : <gdrive link removed see 3rd answer>
Thx for your help !
Comment