Hello,
I have following problem with XamGrid:I want to use conditional formatting of cells with StyleScope="Row", according to a value of a cell in XamGrid should be changed the foreground colour (red) of the whole row. I set the "conditional" column to values in order to set foreground colour in whole XamGrid to red. Everything was OK, until conditional formatting changed the style of visible rows. When I scrolled to see other rows, I was surprised, because some of them were red, some of them were not. When I scrolled to the beginning to see the first rows, theyhad the same problem! Other thing is, that it behaved indeterminately - for example I had 5 visible rows in XamGrid, but I had 7 rows in the whole grid. So I had to scroll to seethe 6. and 7. row, but sometimes the 6. row had the style not set, sometimes the 7. has the same problem, but the 6. was set.
After these troubles I tried to set foreground colour "directly" in code in this way:
Brush BlackForegroundBrush = new SolidColorBrush(Color.FromArgb(0xFF, 0, 0, 0));Brush RedForegroundBrush = new SolidColorBrush(Color.FromArgb(0xFF, 0xFF, 0, 0));Brush brush;
foreach (Row row in grid.Rows){ VxSJEmisia emisia = row.Data as VxSJEmisia; if (emisia != null) { if (emisia.Valid) { brush = BlackForegroundBrush; } else { brush = RedForegroundBrush; }
foreach (Cell cell in row.Cells) { if (cell != null && cell.Control != null) { cell.Control.Foreground = brush; } } }}
But the XamGrid had the same behavior.Surprisingly in some cases the cell.Control has null value in existing XamGrid !
Please, could somebody help me with this? Thanks a lot.
You shouldn't scroll through all the rows and look at the controls in that manner because the cell control is virtualized and only attached to a cell if the cell is in view. So if your row is off screen, the cell.Control would be null.
What is the version number of the dll that you are using? I recall there was bug with StyleScope.Row but I think it was resolved a while ago and in the Service Release.
I am attaching a demo project showing how I tested it. If you can modify this project to show the behavior, or have a simple project that shows the behavior, you can attach it here so we can look at what might be causing your issue.
Hi,
Sorry to hijack the thread but I have a similar issue and have altered the sample application to show this issue.
Basically if I apply a grid.cellstyle it overrides the row.cellstyle.
According to this post: http://ko.infragistics.com/community/forums/p/37026/216198.aspx#216198
row.cellstyle is higher priority than grid.cellstyle. Is this intended or broken?
Is there a way to apply a style to the grid, but also have conditional formatting on the row?
This works fine, however when I change the StyleScope to "Row" it does not work.
I am using SL4 though, could that make a difference?
Thank you for your post. I have been looking into and I created a sample project for you following your scenario and everything seems to work ok on my side. If the sample doesn’t satisfies all your needs feel free to modify it, so it reproduces your behavior and send it back to me for further investigation.
Looking forward for your reply.