Hi,
I'm using the UltraWebGrid, using LoadOnDemand="Xml" for async postbacks. I have a datatable I keep in the codebehind that I populate when the user requests the grid be filled. When generating the table, I add a boolean column directly to it as a "selected" indicator. The reason for this is the UI layout desired is a check box for rows that we will ultimately perform actions on.
Now most of the grid is set with AllowUpdates=false, however this "Selected" column allows updates. Additionally, the grid is set up with Paging.
My desired functionality would be that the customer could click the check box on a few columns, each would get marked, allow the user to go to another page then come back and still see the same items selected.
To achieve this, I subscribe to the UpdateRow event on the grid, putting in the logic to find the row in the data table, update it, and then save it. Unfortunately, this causes a postback on every click which also presents the user with a "Please Wait" image (set on grid initialize) which is less than desireable.
When I switch to subscribe to UpdateRowBatch, I found the grid doesn't fire this event for me when I change pages, ultimately meaning any selections are lost when switching from page to page.
I've tried catching the ClientSideEvents of afterCellUpdate or BeforeRowUpdate and calling igtbl_cancelPostback, while using UpdateRow, but this doesn't actually prevent a post back. I've also tried igtbl_needPostback for UpdateRowBatch, but don't get one.
I've also tried using igtbl_doPostBack during BeforeXMLHttpRequest while subscribed to UpdateRowBatch, everything fires as expected, however this ultimately fires a full postback, so clicking from page 1 to page 2 results in a quick display of page 2, followed by a full page postback and back to page 1.
Any suggestions for how I can get the UpdateRowBatch functionality (of a single batch postback) to fire when changing pages? Maybe there's some way I'm missing to request the grid invoke UpdateRowBatch on page OR postpone postbacks for UpdateRow if a specified column is all that changed?
Thanks in advance for any help you can offer!
~Jeff
Oh man. I wish I had found this sooner. I went through the EXACT scenario.
For now, I'll switch mine back to do a postback on each UpdateRow event but I don't like it.
Infragistics - if you're monitoring these forums...Has this been fixed in subsequent releases? I'm using version 9.2.
Thanks.
As an FYI to anyone who finds this post:
I contacted support and found that in LoadOnDemand="XML" mode, UpdateRowBatch is not supported. I also found out that in the same mode, the typical igtbl_cancelPostBack methods on the grid will not cancel the postbacks fired when subscribed to UpdateRow.
As of now I'm back to subscribing to UpdateRow and dealing with the postback on every row change. To lessen the impact to users, I'm looking into clearing the ProgressIndicator during simple updates.
I will definately submit a request shortly.
I am using an UpdatePanel currently. I tried using the WebAsyncRefreshPanel at one point, however I have links on a toolbar as well as within the grid that should perform CrossPage Posts into a popup window, and I was having trouble getting this functionality to work properly with the Infragistics panel. I'm pretty sure I read some documented things that the WebAsyncRefreshPanel has problems with and at least one of them led me to switch back to the UpdatePanel.
Hi Jeff,
After going through the description, I think you should submit a request with our Developer Support Team to take a closure look at this issue. I was wondering if you are using Microsoft's update panel or Infragistics' WARP(WebAsyncRefreshPanel) in the application or not. You can test the application placing the grid inside one of the panels.
Please submit you request @ https://ko.infragistics.com/support . If possible attach a sample to demonstrate the issue.
Thanks