jQuery UI Widgets Forums Grid jqwidget grid update performance issue

This topic contains 2 replies, has 3 voices, and was last updated by  jdh 6 years, 2 months ago.

Viewing 3 posts - 1 through 3 (of 3 total)
  • Author

  • hemachandran


    In our project we are using jq widget grid add,update and delete operation use of following methods addrow, updaterow and deleterow.
    we have a signalR call to update the web UI so multiple call will do the add or update operations frequently. some point of time
    web UI is getting hang because when we updating the grid row internally jq widget is redrawing and rendering all rows of the grid. So I have updated beginupdate and resumeupdate methods before and after the updaterow. After that it is working fine but some point of time jq widget can’t handle the frequent row update even I have used beginupdate and resumeupdate methods.
    Could you please tell me the fastest way to update only the desired rows without rendering the complete grid?

    Peter Stoev

    Hi hemachandran,

    “beginupdate” before calling multiple times updaterow and “endupdate” after that. That’s how it should be done. Other option is to use “updatebounddata” method to refresh the Grid’s data if you use the same data source or set its “source” property to a new dataAdapter instance. These will re-render the Grid, too, because the data has changed.

    Best Regards,
    Peter Stoev

    jQWidgets Team

    jqwidget grid update performance issue #97681


    This “beginupdate” and “endupdate” definitely helped, but for updating a single field on about 40 rows, it still taking around 500ms.

    Instead, if I just get a pointer to the row and change properties, it takes about 2ms for the batch, even without begin/endupdate:

    rowsToUpdate.forEach((rowIndex: number) => {
       let row = this.myGrid.getrowdata(rowIndex); //since getrowdata returns an object, we're just creating a pointer, not a copy
       row.myField = myFieldsNewValue;   
Viewing 3 posts - 1 through 3 (of 3 total)

You must be logged in to reply to this topic.