I have a XamDataGrid that is bound to a DataSet with multiple parent-child relationships. I have applied the following DataRecordCellArea style to it:
If the underlying dataset changes due to a <Row>.AcceptChanges() or <Table>.AcceptChanges() then the data on screen correctly changes, but the DataTrigger doesn't appear to have changed anything. The weird part is scrolling the affected data out of view and then back into view results in the correct application of the DataTrigger. A workaround is to perform a <DataSet>.AcceptChanges() but that is an expensive operation as my DataSet is quite large. Why is this behavior occuring and how do I correct it?
Thanks!
Hello,
I am using an old sample of yours to reproduce this behavior. Please take a look at the sample - salary must be "1" to activate one of the triggers and the department has to be sales for the second trigger.
They update when you exit edit mode. Obviously it is not the same scenario, so please correct "my" sample accordingly. Also, please tell us the exact dll version that you are using.
Hi Alex,
I tried to modify the sample to make the problem reproduce but I could not. There is something in the complexity of my application that is bringing this problem up. It will take a full-day effort to make a reproducible sample based on my app and I wanted to get your opinion on whether or not it makes sense for you to give me a debug dll or if I should simply go ahead with the sample. Here are some of the complexities that may be relevant:
* The DataSet is created and initially populated on another thread. It is not given to the UI thread until it is entirely set up.
* The DataSet is added to and edited via the UI thread.
* The DataSet is 4 levels deep and the XamDataGrid collapses the first level so it gives the appearance of multiple root tables.
* The DataSet's mulitple-roots (2nd level) are selectively hidden / shown to simulate grouping.
* The DataSet has internal listeners that respond to changes to some tables and update a summary table that contains decision making flags.
* The XamDataGrid is sited on a XAML Page object which is sited on a window that makes use of transparency.
Thanks.
P.S. The dll version being used is: 9.1.20091.2091 (Infragistics3.Wpf.DataPresenter.v9.1.Express.dll)
We cannot really say where the problem is coming from - it is really something specific to the setup. I will create a support case for you and we will continue the discussion through the case.
I would suspect that it is because of the multithreading or the "internal listeners" but I am not completely sure. I will forward this to development and ask them if they have encountered something like this. I will update this forum thread when I have more information from them.