Your Privacy Matters: We use our own and third-party cookies to improve your experience on our website. By continuing to use the website we understand that you accept their use. Cookie Policy
1179
data binding update weirdness
posted

I've got a grid displaying schedule information. Each row contains (amongst others) an arrival and a departure column. When the user updates one of these, all following times should be updated automatically by the same interval. This works, except the grid doesn't update the values in the following rows until you click on a row or move the mouse over the changed field, which is a bit confusing for the users.

The grid is bound to a list of POCO objects. In the setter for the Arrival/Departure properties a delegate is called to a function which walks the list and updates the times. The update is done via a method that directly updates the backing variable (to avoid re-cascading the changed) and raises a PropertyChanged event. The grid is an out of the box ultragrid from 10.3.

I've achieved a (rather unsatisfactory) workaround by call DataBind in the grids AfterCellUpdate event handler, but I'm hoping there's a less heavy handed solution.

 

Kev

Parents
No Data
Reply
  • 69832
    Offline posted

    peelports said:
    This works, except the grid doesn't update the values in the following rows until you click on a row or move the mouse over the changed field

    Going by that it sounds like you just need to refresh the display. You can force the display elements to regenerate themselves by calling UltraGrid.DisplayLayout.UIElement.DirtyChildElements(true), and you can force a paint message by calling the UltraGrid.Update method.

Children