Hi,
I think there is a serious bug in the group by functionality. I am using 2010 volume 1 with the latest service pack release (2027).
Basically, the sorting is completely buggered if you group by two columns (one string and one date time).
Use the following code to create a datatable and assign it to the grid. Group by the String column and then the DateTime column and see what happens. There are loads of rows for each group even though there should be one for each string and DateTime.
if (_dataLarge == null) { _dataLarge = new DataTable { Locale = CultureInfo.InvariantCulture }; _dataLarge.Columns.Add("Counter", typeof(string)); _dataLarge.Columns.Add("Int", typeof(int)); _dataLarge.Columns.Add("Group", typeof(double)); _dataLarge.Columns.Add("String", typeof(string)); _dataLarge.Columns.Add("DateTime", typeof(DateTime)); Random random = new Random(); string[] str = new[] { "abcdefghijklm", "nopqrstuvwxyz" }; for (int i = 0; i < 100000; i++) { _dataLarge.Rows.Add(i.ToString(CultureInfo.InvariantCulture), random.Next(1, 10000000), random.Next(0, 9), str[i%2], DateTime.Now.AddDays(random.Next(0, 10))); } }
Here are the properties setup on the grid:
appearance4.BackColor = System.Drawing.SystemColors.Window; appearance4.BorderColor = System.Drawing.SystemColors.InactiveCaption; resources.ApplyResources(appearance4.FontData, "appearance4.FontData"); resources.ApplyResources(appearance4, "appearance4"); appearance4.ForceApplyResources = "FontData|"; this._performanceResizeStandardGrid.DisplayLayout.Appearance = appearance4; this._performanceResizeStandardGrid.DisplayLayout.BorderStyle = Infragistics.Win.UIElementBorderStyle.Solid; this._performanceResizeStandardGrid.DisplayLayout.CaptionVisible = Infragistics.Win.DefaultableBoolean.False; appearance1.BackColor = System.Drawing.SystemColors.ActiveBorder; appearance1.BackColor2 = System.Drawing.SystemColors.ControlDark; appearance1.BackGradientStyle = Infragistics.Win.GradientStyle.Vertical; appearance1.BorderColor = System.Drawing.SystemColors.Window; resources.ApplyResources(appearance1.FontData, "appearance1.FontData"); resources.ApplyResources(appearance1, "appearance1"); appearance1.ForceApplyResources = "FontData|"; this._performanceResizeStandardGrid.DisplayLayout.GroupByBox.Appearance = appearance1; appearance2.ForeColor = System.Drawing.SystemColors.GrayText; resources.ApplyResources(appearance2.FontData, "appearance2.FontData"); resources.ApplyResources(appearance2, "appearance2"); appearance2.ForceApplyResources = "FontData|"; this._performanceResizeStandardGrid.DisplayLayout.GroupByBox.BandLabelAppearance = appearance2; this._performanceResizeStandardGrid.DisplayLayout.GroupByBox.BorderStyle = Infragistics.Win.UIElementBorderStyle.Solid; appearance3.BackColor = System.Drawing.SystemColors.ControlLightLight; appearance3.BackColor2 = System.Drawing.SystemColors.Control; appearance3.BackGradientStyle = Infragistics.Win.GradientStyle.Horizontal; appearance3.ForeColor = System.Drawing.SystemColors.GrayText; resources.ApplyResources(appearance3.FontData, "appearance3.FontData"); resources.ApplyResources(appearance3, "appearance3"); appearance3.ForceApplyResources = "FontData|"; this._performanceResizeStandardGrid.DisplayLayout.GroupByBox.PromptAppearance = appearance3; this._performanceResizeStandardGrid.DisplayLayout.MaxColScrollRegions = 1; this._performanceResizeStandardGrid.DisplayLayout.MaxRowScrollRegions = 1; appearance12.BackColor = System.Drawing.SystemColors.Window; appearance12.ForeColor = System.Drawing.SystemColors.ControlText; resources.ApplyResources(appearance12.FontData, "appearance12.FontData"); resources.ApplyResources(appearance12, "appearance12"); appearance12.ForceApplyResources = "FontData|"; this._performanceResizeStandardGrid.DisplayLayout.Override.ActiveCellAppearance = appearance12; appearance7.BackColor = System.Drawing.SystemColors.Highlight; appearance7.ForeColor = System.Drawing.SystemColors.HighlightText; resources.ApplyResources(appearance7.FontData, "appearance7.FontData"); resources.ApplyResources(appearance7, "appearance7"); appearance7.ForceApplyResources = "FontData|"; this._performanceResizeStandardGrid.DisplayLayout.Override.ActiveRowAppearance = appearance7; this._performanceResizeStandardGrid.DisplayLayout.Override.BorderStyleCell = Infragistics.Win.UIElementBorderStyle.Dotted; this._performanceResizeStandardGrid.DisplayLayout.Override.BorderStyleRow = Infragistics.Win.UIElementBorderStyle.Dotted; appearance6.BackColor = System.Drawing.SystemColors.Window; resources.ApplyResources(appearance6.FontData, "appearance6.FontData"); resources.ApplyResources(appearance6, "appearance6"); appearance6.ForceApplyResources = "FontData|"; this._performanceResizeStandardGrid.DisplayLayout.Override.CardAreaAppearance = appearance6; appearance5.BorderColor = System.Drawing.Color.Silver; appearance5.TextTrimming = Infragistics.Win.TextTrimming.EllipsisCharacter; resources.ApplyResources(appearance5.FontData, "appearance5.FontData"); resources.ApplyResources(appearance5, "appearance5"); appearance5.ForceApplyResources = "FontData|"; this._performanceResizeStandardGrid.DisplayLayout.Override.CellAppearance = appearance5; this._performanceResizeStandardGrid.DisplayLayout.Override.CellClickAction = Infragistics.Win.UltraWinGrid.CellClickAction.EditAndSelectText; this._performanceResizeStandardGrid.DisplayLayout.Override.CellPadding = 0; appearance9.BackColor = System.Drawing.SystemColors.Control; appearance9.BackColor2 = System.Drawing.SystemColors.ControlDark; appearance9.BackGradientAlignment = Infragistics.Win.GradientAlignment.Element; appearance9.BackGradientStyle = Infragistics.Win.GradientStyle.Horizontal; appearance9.BorderColor = System.Drawing.SystemColors.Window; resources.ApplyResources(appearance9.FontData, "appearance9.FontData"); resources.ApplyResources(appearance9, "appearance9"); appearance9.ForceApplyResources = "FontData|"; this._performanceResizeStandardGrid.DisplayLayout.Override.GroupByRowAppearance = appearance9; resources.ApplyResources(appearance11, "appearance11"); resources.ApplyResources(appearance11.FontData, "appearance11.FontData"); appearance11.ForceApplyResources = "FontData|"; this._performanceResizeStandardGrid.DisplayLayout.Override.HeaderAppearance = appearance11; this._performanceResizeStandardGrid.DisplayLayout.Override.HeaderClickAction = Infragistics.Win.UltraWinGrid.HeaderClickAction.SortMulti; this._performanceResizeStandardGrid.DisplayLayout.Override.HeaderStyle = Infragistics.Win.HeaderStyle.WindowsXPCommand; appearance10.BackColor = System.Drawing.SystemColors.Window; appearance10.BorderColor = System.Drawing.Color.Silver; resources.ApplyResources(appearance10.FontData, "appearance10.FontData"); resources.ApplyResources(appearance10, "appearance10"); appearance10.ForceApplyResources = "FontData|"; this._performanceResizeStandardGrid.DisplayLayout.Override.RowAppearance = appearance10; this._performanceResizeStandardGrid.DisplayLayout.Override.RowSelectors = Infragistics.Win.DefaultableBoolean.False; appearance8.BackColor = System.Drawing.SystemColors.ControlLight; resources.ApplyResources(appearance8.FontData, "appearance8.FontData"); resources.ApplyResources(appearance8, "appearance8"); appearance8.ForceApplyResources = "FontData|"; this._performanceResizeStandardGrid.DisplayLayout.Override.TemplateAddRowAppearance = appearance8; this._performanceResizeStandardGrid.DisplayLayout.ScrollBounds = Infragistics.Win.UltraWinGrid.ScrollBounds.ScrollToFill; this._performanceResizeStandardGrid.DisplayLayout.ScrollStyle = Infragistics.Win.UltraWinGrid.ScrollStyle.Immediate; this._performanceResizeStandardGrid.DisplayLayout.ViewStyleBand = Infragistics.Win.UltraWinGrid.ViewStyleBand.OutlookGroupBy; resources.ApplyResources(this._performanceResizeStandardGrid, "_performanceResizeStandardGrid"); this._performanceResizeStandardGrid.Name = "_performanceResizeStandardGrid";
This is a known bug and will be fixed in the next service release which should be available at the beginning of July.
This is a major bug and we need it fixing asap. Any change of getting an early cut?