I have a grid which is utilizing an ultradatasource. I have a childband which contains one column coming off of the main band. When the user clicks in this childband's cell, I pop up a dialog box where the user can enter data. When the user hits the 'OK" button, the data entered into the dialog box gets displayed in the cell that the user originally clicked to open the dialog.
If this cell is empty when the user clicks on it, the value that they eventually enter in the dialog that pops up DOES display in the cell upon hitting 'OK'. But once this cell has data in it, the new data entered in the pop up DOES NOT display in the cell upon hitting 'OK'. If I navigate away and come back, the cell does show the updated data.
Usually if I update the datasource, the grid automatically refreshes the grid area affected by the updated datasource(as it does if the cell was empty). Why would it not update the grid cell with the new data if there was already data in it?
Thanks,
Dave K.
Hi DK,
I'm glad you got it working. You might want to check out the new RowEditTemplate feature that was added in v8.1. It basically does what you are describing, popping up a separate dialog to allow the user to edit a single row.
This was developer error. I was accessing the row using the visible index "rows(visibleindex) instead of rows.GetRowAtVisibleIndex(visibleIndex).
Once I update the proper row's value, the grid does display the correct data. My bad!
DK
I can force the update by calling Invalidate or refresh, but why do I need to force it only if the cell contained data previously?