This one is a real puzzle (to me at least). I have a number of grids inside of webtabs (Async LoadOnDemand set) that behave correctly when the add new row button is clicked. Immediately the update row event fires, a new row is added to the dataset and I can access the new blank row. I can subsequently edit this via a template.
But one grid does not behave this way and as far as I can tell it's almost identical to the other grids aside from content. Clicking the 'Add new' button a new blank row is added to the grid but the update row event does not fire so subsequently there is no row in the dataset. If instead of clicking the new row but one already present the update row event will fire and my new row is inserted and behaves correctly. Any ideas on what bone head mistake I'm making?
IG 2008 Vol3 CLR 3.5
Fantastic! That did the trick. The only difference in this grid was that it was just a simple two text fields and didn't require the AfterRowTemplateClose event processing like the others.
I would consider this a bug in any case or at least the documentation should state that the add row button will not trigger the server side events that you would expect unless you force the processUpdateRow java method.
Cheers,
Don
Hi,
I'm not sure if you are handling the AfterRowTemplateClose event on the client side. If not, then please include the handler and then you can force the row to update by using the following line of code. So the javascript function should look like as follows:
function UltraWebGrid1_AfterRowTemplateCloseHandler(gridName, rowId, bSaveChanges)
{
var
row = igtbl_getRowById(rowId);
row.processUpdateRow(); //This should fire the UpdateRow event on the server side
}
Please let me know if this helped or not.
Thanks
Thanks for your quick reply.
We are using the afterRowInsertHandler to initialize a couple of values in all the grids including the one having a problem. I did implement, at your suggestion, the row.editRow(true) to pop up the template. That enhanced our user interface a lot so much appreciated.
Still, it's the server side event UpdateRow (and subsequently UpdateGrid) that is causing my problem because it does not fire when the AddRow button is pressed. My update row event, like the second link you sent me should add the new row to the dataset once the button is clicked but this does not happen in this case. The row is added to the grid, I edit it (even using the new popup template row.editRow(true) you showed me). but when it is saved the row just disappears during the subsequent grid refresh.
I was wondering if you are handling any client side events for the grids. When the AddNewRow button is clicked for the first grid, do you force the row to go to edit mode and open the row edit template to enter data or not. If not, then I would suggest you to test this for the second grid. Please refer to this forum thread regarding this:
https://es.infragistics.com/community/forums/f/retired-products-and-controls/21807/how-to-show-rowtemplate-on-addnewbox-click
Are you updating the dataset manually? If yes, then here is a very helpful link explaining how to this with step-by-step example.
If none of these help, then please let me know more details about the grids and if possible, send a sample.