We use cookies to give you the best experience on our website. If you continue to browse, then you agree to our privacy policy and cookie policy. Image for the cookie policy date
close icon

MultiColumn Sorting in GGC

Hi, is it possible to have multiple column sorting in GGC? I have tried to do something like: DataView dv = new DataView(someDataTable); dv.Sort = "LastName, FirstName"; GGC.DataSource = dv; However, the displayed data is still unsorted. Any idea?

8 Replies

AD Administrator Syncfusion Team March 24, 2006 07:11 AM UTC

Hi Kai, Yes, it is possible to have multiple column sorts in GridGroupingControl. Below is a code snippet. this.gridGroupingControl1.TableDescriptor.SortedColumns.AddRange(new SortColumnDescriptor[] { new SortColumnDescriptor(colName1, ListSortDirection.Ascending), new SortColumnDescriptor(colName2, ListSortDirection.Descending), new SortColumnDescriptor(colName3, ListSortDirection.Ascending) }); Regards, Calvin.


KA Kai March 24, 2006 09:03 AM UTC

Great! Thanks! >Hi Kai, > >Yes, it is possible to have multiple column sorts in GridGroupingControl. Below is a code snippet. > > >this.gridGroupingControl1.TableDescriptor.SortedColumns.AddRange(new SortColumnDescriptor[] > { > new SortColumnDescriptor(colName1, ListSortDirection.Ascending), > new SortColumnDescriptor(colName2, ListSortDirection.Descending), > new SortColumnDescriptor(colName3, ListSortDirection.Ascending) > }); > > >Regards, >Calvin.


KA Kai March 24, 2006 09:23 AM UTC

Now, how can we enable the Ctrl-left click in GGC for user to do multi-column sorting? >Great! Thanks! > >>Hi Kai, >> >>Yes, it is possible to have multiple column sorts in GridGroupingControl. Below is a code snippet. >> >> >>this.gridGroupingControl1.TableDescriptor.SortedColumns.AddRange(new SortColumnDescriptor[] >> { >> new SortColumnDescriptor(colName1, ListSortDirection.Ascending), >> new SortColumnDescriptor(colName2, ListSortDirection.Descending), >> new SortColumnDescriptor(colName3, ListSortDirection.Ascending) >> }); >> >> >>Regards, >>Calvin.


AD Administrator Syncfusion Team March 24, 2006 10:13 AM UTC

Hi Kai, By default the multi column sort by Ctrl+Left Button Mouse Click is enabled. To enable/disable the multi column sort the AllowMultiColumnSort property must be set to true/false. Below is a code. this.gridGroupingControl1.TableOptions.AllowMultiColumnSort = false; Regards, Calvin.


KA Kai March 27, 2006 02:19 AM UTC

It seems that the AllowMultiColumnSort property does not exists in 3.3 GGC. I have an AllowSortColumns property instead. Are they the same? I have explicitly set the AllowSortColumns property to true but it seems that the Ctrl-left click on column header trick still doesn''t work. Any idea? I have a predefined sorted column header in my form''s constructor. GGC.TableDescriptor.SortedColumns.AddRange(new SortColumnDescriptor[] { new SortColumnDescriptor(Col1), new SortColumnDescriptor(Col2) ... } }; and GGC.TableOptions.AllowSortColumns = true; >Hi Kai, > >By default the multi column sort by Ctrl+Left Button Mouse Click is enabled. To enable/disable the multi column sort the AllowMultiColumnSort property must be set to true/false. Below is a code. > >this.gridGroupingControl1.TableOptions.AllowMultiColumnSort = false; > >Regards, >Calvin.


AD Administrator Syncfusion Team March 27, 2006 03:40 PM UTC

Hi Kai, The latest version (4.1.0.62) can be downloaded from the following link. ftp://syncpatch.syncfusion.com/EssentialStudio/v4.1.0.62/syncfusionessentialstudiosetup.exe In the 3.3 version the intent behavior can be achieved by handling the TableControlCellClick event. Below is code snippet. private void gridGroupingControl1_TableControlCellClick(object sender, Syncfusion.Windows.Forms.Grid.Grouping.GridTableControlCellClickEventArgs e) { // Check for CTRL - Key to do multi-column sorting..... if(((Control.ModifierKeys & Keys.Control) != 0)) { // Cancel the default sorting... e.Inner.Cancel = true; GridColumnDescriptor column = e.TableControl.Table.GetColumnDescriptorAt(e.Inner.RowIndex, e.Inner.ColIndex); string col = column.Name; if(this.gridGroupingControl1.TableDescriptor.SortedColumns.Contains(col)) { if(this.gridGroupingControl1.TableDescriptor.SortedColumns[col].SortDirection == ListSortDirection.Ascending) { this.gridGroupingControl1.TableDescriptor.SortedColumns[col].SortDirection = ListSortDirection.Descending; } else { this.gridGroupingControl1.TableDescriptor.SortedColumns[col].SortDirection = ListSortDirection.Ascending; } } else { this.gridGroupingControl1.TableDescriptor.SortedColumns.Add(col, ListSortDirection.Ascending); } } } Regards, Calvin.


KA Kai March 28, 2006 05:59 AM UTC

Works great! Can we upgrade from 3.3 to 4.1.0.62 for free? >Hi Kai, > >The latest version (4.1.0.62) can be downloaded from the following link. >ftp://syncpatch.syncfusion.com/EssentialStudio/v4.1.0.62/syncfusionessentialstudiosetup.exe >In the 3.3 version the intent behavior can be achieved by handling the TableControlCellClick event. Below is code snippet. > >private void gridGroupingControl1_TableControlCellClick(object sender, Syncfusion.Windows.Forms.Grid.Grouping.GridTableControlCellClickEventArgs e) > { > // Check for CTRL - Key to do multi-column sorting..... > if(((Control.ModifierKeys & Keys.Control) != 0)) > { > // Cancel the default sorting... > e.Inner.Cancel = true; > > GridColumnDescriptor column = e.TableControl.Table.GetColumnDescriptorAt(e.Inner.RowIndex, e.Inner.ColIndex); > string col = column.Name; > > if(this.gridGroupingControl1.TableDescriptor.SortedColumns.Contains(col)) > { > if(this.gridGroupingControl1.TableDescriptor.SortedColumns[col].SortDirection == ListSortDirection.Ascending) > { > this.gridGroupingControl1.TableDescriptor.SortedColumns[col].SortDirection = ListSortDirection.Descending; > } > else > { > this.gridGroupingControl1.TableDescriptor.SortedColumns[col].SortDirection = ListSortDirection.Ascending; > } > } > else > { > this.gridGroupingControl1.TableDescriptor.SortedColumns.Add(col, ListSortDirection.Ascending); > } > } > } > >Regards, >Calvin.


AD Administrator Syncfusion Team March 28, 2006 12:19 PM UTC

Hi Kai, Thanks for the update. You can open a Direct-Trac to get details for upgrading, and it cost to upgrade from 3.X to 4.1. Regards, Calvin.

Loader.
Live Chat Icon For mobile
Up arrow icon