First,
I have read the other threads regarding this behavior. I understand the CellValuePresenter is something that is 'destroyed?' during virtualization. That being said: i have come up with a solution I thought would work but seem to have stumbled on a bug with the DataPresenter. Any help would be appreciated.
Ok so the idea behind this grid is to have the background color update when the InitializeCellValuePresenter event is fired if the current value in the cell is different then the original value in the cell. The way i do this is by
1. putting the original value of the cell in the cells 'tag' when then DataValueChanged event is fired.
2. When the InitializeCellValuePresenter Event is fired I compare the current value of the cell with the value in the 'tag' of that cell.
2a. If the 'tag' value is null do nothing and return void;
2b. If the 'tag' value = the cell's current value then background = white
2c. If the 'tag' value != the cell's current value then background = yellow;
The problem I am seeing is that when scrolling up and down there are random cells that are receiving the background = yellow. If you put a break point at the point where I set background = yellow (the only point were background = yellow) there is never a point that the code breaks. even though many more cells are being updated with the yellow background. I see this as a bug.
Second,
Can we have a property associated with the DataHistory such that it doesn't keep the most recent changed values but the oldest values? This would go a long way with allowing us to manage changed values in the DataPresenters=)
Justin,
I wanted to follow up and see it you had a chance to put together a sample project you mentioned before.
Thanks,
Sam
Thanks for the effort in preparing a sample that may demonstrate the behavior you are describing. I look forward to reviewing and testing it.
Yes I asked in both places. Though I must also preface your response (as I have seen the code you provided elsewhere on these forums) by stating that it doesn't exactly solve the issue I was conerned about. Your supplied code is a workaround for a similar issue but I was able to figure out a work around for my specific problem. I will post it as soon as I can trim downt the size of my project to 200k. The original problem I posted is a bug; however, and should be looked at=). Thank you for your speedy response.
It seems like this is the same request as one of your cases we addressed earlier.
I will attach the same sample that I forwarded to you so other may benefit as well.