I am trying to transfer my excel app to WPF datagrid. I am going to enter data to Column A and in column B I would like to make calculation taking previus cell and current cell of A column and add Column B previus cell.
calculation example : B2 = B1 + (A2-A1). What is best approach of doing so?
I am trying to transfer my excel app to WPF datagrid. I am going
Share
Personally, I’d start by creating a class that represents the records and implement INotifyPropertyChanged on that class.
Then, in your code behind on the window you’re showing the datagrid, you’ll want to subscribe to PropertyChanged on each object in the list. Then you’d have to manually compute the column values whenever those properties changed. Ick, I know, but it’d work.
The property changed event would look like:
If you hook this event onto all the records in your bound list, then it’ll fire whenever any property is changed. In the class above, that’d apply to both A and B. You can filter which properties you’re interested in monitoring through e.PropertyName (a simple string comparison) and guage the business logic accordingly. If you want to maintain encapsulation, or at least, put the business logic for the object on the object itself, this method could be a static one on the class recordObject. You’d have to provide for getting hold of the datagrid from that static method, though (likely through a static property on your window). So:
and connected so: