All
We have a listGrid with 10 columns backed by a dataSource. Basically we receive an event from the server we do the following with the record
Grid is being built as follows
this.setDataSource(this.executionsDataSource);
this.setAutoFetchData(true);
this.setAlternateRecordStyles(false);
this.setAlwaysShowEditors(false);
this.setAutoFitFieldWidths(true);
we are using the
- Search the grid using getCellCSSText to style about 4 columns.
The datasource has just
setAutoCacheAllData(true);
.getListGrid().getRecordList().find(AsyncRecord.GRID_EXECID, execOrderId);
- If the record exists, we try and update a column in the already placed record. So almost like updating a price.
.getListGrid().updateData(record);
- If the record does not exist, we just do a
.getListGrid().addData(record);
Now these updates can come from the backend at a very quick rate in our testing. So we are unsure if it is the find method that is slow, or the listGrid just not updating when we insert a new record.
With the last test we just did, there were not many records only about 25. So I would think the find was quick enough.
Looking at the developer console all I see is
20:52:11.894:RDQ1:INFO:scrolling:isc_ExecutionsListGrid_0_body:Drawn size: 1805 by 1804, specified: 1532 by 289, scrollbar state: hv
20:52:11.910:RDQ1:INFO:drawing:isc_ExecutionsListGrid_0_body:redrawPeers(): 2 peers
20:52:11.910:RDQ1:DEBUG:drawing:isc_ExecutionsListGrid_0_body:Redraw() - Total time to redraw in DOM:163
20:52:12.263:TMR7:INFO:redraws:isc_ExecutionsListGrid_0_body:Scheduling redraw (dataChanged)
Class.getStackTrace(_1=>undef, _2=>undef, _3=>undef, _4=>undef)
Canvas.$q9(_1=>"dataChanged", _2=>undef)
Canvas.markForRedraw(_1=>"dataChanged", undef, undef, undef, undef)
Array.map(_1=>"markForRedraw", _2=>"dataChanged", _3=>undef, _4=>undef, _5=>undef, _6=>undef)
ListGrid.$25a(_1=>"dataChanged")
ListGrid.dataChanged(_1=>undef, _2=>undef, _3=>undef, _4=>undef, _5=>undef)
dataChangedObservation(operationType=>undef, originalRecord=>undef, rowNum=>undef, updateData=>undef, filterChanged=>undef)
ResultSet.$ee(_1=>undef)
ResultSet.handleUpdate(_1=>"add", _2=>Obj{ID:1317667489072}, _3=>undef, _4=>Obj)
ResultSet.dataSourceDataChanged(_1=>Obj, _2=>Obj)
dataChangedObservation(dsResponse=>Obj, dsRequest=>Obj)
DataSource.updateCaches(_1=>Obj, _2=>Obj)
[c]DataSource.handleUpdate(_1=>Obj, _2=>Obj)
DataSource.fireResponseCallbacks(_1=>Obj, _2=>Obj, _3=>Obj, _4=>Obj)
DataSource.$38b(_1=>Obj, _2=>Obj, _3=>Obj, _4=>Obj, _5=>Obj)
DataSource.$50e(_1=>Obj, _2=>Obj, _3=>Obj)
[c]Class.fireCallback(_1=>Obj, _2=>"rpcResponse,data,rpcRequest", _3=>Array[3], _4=>[DataSource ID:isc_ExecutionsDataSource_0], _5=>undef) on [Class RPCManager]
Class.fireCallback(_1=>Obj, _2=>"rpcResponse,data,rpcRequest", _3=>Array[3], _4=>undef)
[c]RPCManager.__fireReplyCallback(_1=>Obj, _2=>Obj, _3=>Obj, _4=>Obj)
anonymous(b=>Obj, c=>Obj, d=>Obj, e=>Obj)
[c]RPCManager.fireReplyCallbacks(_1=>Obj, _2=>Obj)
[c]RPCManager.performOperationReply(_1=>Obj, _2=>Obj)
[c]RPCManager.$39d(_1=>502)
** recursed on [c]Class.fireCallback
20:52:12.353:RDQ1:INFO:drawing:isc_ExecutionsListGrid_0_body:$ra(): redrawing
20:52:12.437:RDQ1:DEBUG:gridHTML:isc_ExecutionsListGrid_0_body:getTableHTML: columns 0->25, rows 0->17, time: 84ms (468 cells at 0.18ms per cell, 5571.43 cells per second), spacerHeights: [0,1452], left/right pad: [0,0], 0 single cell rows
20:52:12.502:RDQ1:INFO:sizing:isc_ExecutionsListGrid_0_body:Specified size: 1532x289, drawn scroll size: 1805x1848, border: 0x0, margin: 0x0, reason: redraw
20:52:12.502:RDQ1:DEBUG:sizing:isc_ExecutionsListGrid_0_body:clipHandle sizes: {scrollLeft: 0,
scrollTop: 0,
scrollWidth: 1805,
scrollHeight: 1848,
clientWidth: undef,
clientHeight: undef,
offsetWidth: 1516,
offsetHeight: 273,
styleLeft: "0px",
styleTop: "23px",
styleWidth: "1516px",
styleHeight: "273px",
styleClip: ""}
20:52:12.503:RDQ1:DEBUG:sizing:isc_ExecutionsListGrid_0_body:handle sizes: {scrollLeft: 0,
scrollTop: 0,
scrollWidth: 1805,
scrollHeight: 1848,
clientWidth: undef,
clientHeight: undef,
offsetWidth: 1516,
offsetHeight: 1848,
styleLeft: "",
styleTop: "",
styleWidth: "",
styleHeight: "",
styleClip: ""}
20:52:12.503:RDQ1:INFO:scrolling:isc_ExecutionsListGrid_0_body:Drawn size: 1805 by 1848, specified: 1532 by 289, scrollbar state: hv
20:52:12.503:RDQ1:INFO:drawing:isc_ExecutionsListGrid_0_body:redrawPeers(): 2 peers
20:52:12.503:RDQ1:DEBUG:drawing:isc_ExecutionsListGrid_0_body:Redraw() - Total time to redraw in DOM:150
And looking at the RPC tab i see the updates , deletes and adds any they say success in 103ms.
Is there a way to dig deeper to see what the issue could be… Or are we trying to get a bit much from the listGrid?