ParamQuery grid support forum
General Category => Help for ParamQuery Pro => Topic started by: mshapiro on July 01, 2015, 04:53:06 am
-
I have a grid that gets updated after the user initiates a calculation function. This currently takes 30 seconds or more if there are 150+ rows. trackModel is on.
The slow part of the update is after the calculations when the updated column values are displayed. This is done with a loop over all the rows using updateRow to update those rows with changed values in 2 columns:
$gridEmployees.pqGrid("updateRow", {
rowIndx: ratingCalculations.rownum, row: {
'PeerGroupRank': ratingCalculations.Rank,
'PeerGroupQuartile': ratingCalculations.Quartile
}, checkEditable: false
});
I have a progress bar to display during the whole process
<div id="calcprogress" class="progress progress-striped active" style="display: none;">
<div class=" progress-bar" role="progressbar" style="width:100%;">Calculating...</div>
</div>
I can't get $("#calcprogress").show(); to work while the grid is being updated with updateRow. Nothing is displayed. Is there a way around this?
Would refreshing dataModel.data work with trackModel on?. There are 20 columns in the grid, only 2 are being updated and other columns might have changes that haven't been committed? If I could do that then there is no need for a progress bar. Thanks.
-
1. Faster way of updating lot of rows without losing tracking.
Pass refresh: false as one of the arguments to updateRow() and call refresh() at the end of loop.
2. Slower way along with progress bar.
call updateRow with a timer window.setInterval.
-
"refresh: false" as an argument to updateRow() solves the issue. The process is now fast enough that a progress bar is not needed.
I don't see "refresh: false" on the API page as a documented argument to updateRow(). Is this implied? How can I find other arguments that are available to the various methods that are not specifically listed on the API page? Thanks.