My project recently upgraded to Infragistics 7.3 from 7.1. Since that upgrade we found an issue where any columns that contain enumerated values or any other values that we provide a ValueList for are having a problem. First point is that we always have CellClickAction set to SelectRow: So initially we select a Row ( clicking on a cell beside the "enumerated" column" ) Then if we click on the next (below) cell (also beside the "enumerated" column) The previously selected row's column containing a value list item disappears. It isn't really disappearing it is just that the font isn't getting changed from white (the selected text color) back to black (the normal text color). As soon as you scroll the mouse into the cell or scroll the grid a "repaint" occurs and everything is put back to normal but by then a bunch of our values are 'hidden'. Below is the main piece of the code causing the problem. We don't want to revert to 7.1 but so far our only solution is to change the System color scheme such that the "Selected text" and "Normal text" are both visible on the "Selected background. Any ideas? Thanks in advance.
The below piece of code causes our issue (provided that ultraGrid1 is an UltraGrid setup in the designer). Run the following code and click on the "Value1" column up and down the grid and the "Status2" column values disappear. Click on the "Status2" values and the "Status1" values disappear.
public partial class UltraForm : Form { public UltraForm() { InitializeComponent(); List<TestObject> list = new List<TestObject>(); list.Add( new TestObject( TestObject.ObjectStatus.Active, TestObject.ObjectStatus.Complete, 1M, 2M, 3M ) ); list.Add( new TestObject( TestObject.ObjectStatus.Running, TestObject.ObjectStatus.Waiting, 6M, 7M, 8M )); list.Add( new TestObject( TestObject.ObjectStatus.Waiting, TestObject.ObjectStatus.Complete, 10M, 21M, 32M )); ultraGrid1.DataSource = list; ultraGrid1.DisplayLayout.Override.CellClickAction = CellClickAction.RowSelect; foreach ( UltraGridCell cell in ultraGrid1.Rows[ 0 ].Cells ) { if ( cell.Value.GetType() == typeof( TestObject.ObjectStatus ) ) { cell.Column.ValueList = TestObject.ValueList; } } } }
public class TestObject { public TestObject( ObjectStatus s1, ObjectStatus s2, decimal v1, decimal v2, decimal v3 ) { mStatus1 = s1;mStatus2 = s2; mValue1 = v1;mValue2 = v2;mValue3 = v3; } public ObjectStatus Status1 { get {return mStatus1;} } public ObjectStatus Status2 { get {return mStatus2;} } public decimal Value1 { get {return mValue1;} } public decimal Value2 { get {return mValue2;} } public decimal Value3 { get {return mValue3;} } private ObjectStatus mStatus1;private ObjectStatus mStatus2; private decimal mValue1;private decimal mValue2;private decimal mValue3; public static ValueList ValueList { get { ValueList list = new ValueList( ); list.ValueListItems.Add( new ValueListItem( ObjectStatus.Active, "A" ) ); list.ValueListItems.Add( new ValueListItem( ObjectStatus.Complete, "C" ) ); list.ValueListItems.Add( new ValueListItem( ObjectStatus.Running, "R" ) ); list.ValueListItems.Add( new ValueListItem( ObjectStatus.Waiting, "W" ) ); return list; } } public enum ObjectStatus { Waiting, Active, Running, Complete, } }
You can download hot fixes for your registered products from the My Keys and Downloads page of our website.
Hi,
From where can I download this hot fix?. I am facing the same issue. Please help me.
Thanks
I thought we did but alas no... after updating with Hot Fix 1052 the issue appears to be resolved. Thanks alot for your help!
Hi Jason,
This sounds like an issue that was introduced in v7.3 and was fixed in a Hot Fix.
The problem had to do with appearance caching and in some cases when you de-selected a row, the row's BackColor would update, but the forecolor would stay the selected color (which is usually white) and therefore the text seems to disappear (since it's white text on a white background).
Do you have the latest Hot Fix?