Your Privacy Matters: We use our own and third-party cookies to improve your experience on our website. By continuing to use the website we understand that you accept their use. Cookie Policy
2387
column sorting
posted

Here is another question I should be able to figure out, but can not seem to find it...

How do you get the WinGrid to sort when you click on the column header?  Band[1] sorts, but Band[0] doesn't sort.  I want Band[0] to be the one that will sort, and I do NOT want Band[1] sorting.

It is my impression that this is the default behavior so I am guessing I changed something I should not have. The other possibility is the fact that I am using my own custom dataset.  The collection that is being displayed is:

class ChoiceSetList : BindingList<ChoiceSet>
{
}

Here is the designer code as it stands now:

            //
            // dgChoiceSets
            //
            this.dgChoiceSets.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
                        | System.Windows.Forms.AnchorStyles.Right)));
            this.dgChoiceSets.DataMember = "ChoiceSetList";
            this.dgChoiceSets.DataSource = this.choiceSetPickerBindingSource;
            this.dgChoiceSets.DisplayLayout.AutoFitStyle = Infragistics.Win.UltraWinGrid.AutoFitStyle.ResizeAllColumns;
            ultraGridColumn1.AutoCompleteMode = Infragistics.Win.AutoCompleteMode.Append;
            ultraGridColumn1.Header.VisiblePosition = 6;
            ultraGridColumn2.AutoCompleteMode = Infragistics.Win.AutoCompleteMode.Append;
            ultraGridColumn2.Header.Caption = "#";
            ultraGridColumn2.Header.VisiblePosition = 1;
            ultraGridColumn2.MaxWidth = 24;
            ultraGridColumn2.MinWidth = 24;
            ultraGridColumn2.RowLayoutColumnInfo.OriginX = 2;
            ultraGridColumn2.RowLayoutColumnInfo.OriginY = 0;
            ultraGridColumn2.RowLayoutColumnInfo.SpanX = 2;
            ultraGridColumn2.RowLayoutColumnInfo.SpanY = 2;
            ultraGridColumn2.Width = 24;
            ultraGridColumn3.AutoCompleteMode = Infragistics.Win.AutoCompleteMode.Append;
            ultraGridColumn3.Header.VisiblePosition = 0;
            ultraGridColumn3.RowLayoutColumnInfo.OriginX = 0;
            ultraGridColumn3.RowLayoutColumnInfo.OriginY = 0;
            ultraGridColumn3.RowLayoutColumnInfo.SpanX = 2;
            ultraGridColumn3.RowLayoutColumnInfo.SpanY = 2;
            ultraGridColumn3.Width = 183;
            ultraGridColumn4.AutoCompleteMode = Infragistics.Win.AutoCompleteMode.Append;
            ultraGridColumn4.Header.VisiblePosition = 2;
            ultraGridColumn4.Hidden = true;
            ultraGridColumn5.AutoCompleteMode = Infragistics.Win.AutoCompleteMode.Append;
            ultraGridColumn5.Header.VisiblePosition = 3;
            ultraGridColumn5.Hidden = true;
            ultraGridColumn6.AutoCompleteMode = Infragistics.Win.AutoCompleteMode.Append;
            ultraGridColumn6.Header.VisiblePosition = 4;
            ultraGridColumn6.Hidden = true;
            ultraGridColumn7.AutoCompleteMode = Infragistics.Win.AutoCompleteMode.Append;
            ultraGridColumn7.Header.VisiblePosition = 5;
            ultraGridColumn7.Hidden = true;
            ultraGridBand1.Columns.AddRange(new object[] {
            ultraGridColumn1,
            ultraGridColumn2,
            ultraGridColumn3,
            ultraGridColumn4,
            ultraGridColumn5,
            ultraGridColumn6,
            ultraGridColumn7});
            ultraGridColumn8.AutoCompleteMode = Infragistics.Win.AutoCompleteMode.Append;
            ultraGridColumn8.Header.VisiblePosition = 0;
            ultraGridColumn8.Width = 90;
            ultraGridColumn9.AutoCompleteMode = Infragistics.Win.AutoCompleteMode.Append;
            ultraGridColumn9.Header.VisiblePosition = 1;
            ultraGridColumn9.Width = 117;
            ultraGridBand2.Columns.AddRange(new object[] {
            ultraGridColumn8,
            ultraGridColumn9});
            ultraGridBand2.Override.AllowRowFiltering = Infragistics.Win.DefaultableBoolean.False;
            ultraGridBand2.Override.RowSelectors = Infragistics.Win.DefaultableBoolean.False;
            ultraGridBand2.Override.SelectTypeRow = Infragistics.Win.UltraWinGrid.SelectType.None;
            this.dgChoiceSets.DisplayLayout.BandsSerializer.Add(ultraGridBand1);
            this.dgChoiceSets.DisplayLayout.BandsSerializer.Add(ultraGridBand2);
            this.dgChoiceSets.DisplayLayout.CaptionVisible = Infragistics.Win.DefaultableBoolean.False;
            this.dgChoiceSets.DisplayLayout.InterBandSpacing = 0;
            this.dgChoiceSets.DisplayLayout.Override.AllowAddNew = Infragistics.Win.UltraWinGrid.AllowAddNew.No;
            this.dgChoiceSets.DisplayLayout.Override.AllowDelete = Infragistics.Win.DefaultableBoolean.False;
            this.dgChoiceSets.DisplayLayout.Override.AllowRowFiltering = Infragistics.Win.DefaultableBoolean.True;
            this.dgChoiceSets.DisplayLayout.Override.AllowUpdate = Infragistics.Win.DefaultableBoolean.False;
            this.dgChoiceSets.DisplayLayout.Override.BorderStyleCell = Infragistics.Win.UIElementBorderStyle.RaisedSoft;
            this.dgChoiceSets.DisplayLayout.Override.BorderStyleRow = Infragistics.Win.UIElementBorderStyle.None;
            this.dgChoiceSets.DisplayLayout.Override.CellClickAction = Infragistics.Win.UltraWinGrid.CellClickAction.RowSelect;
            appearance2.BorderColor = System.Drawing.Color.White;
            this.dgChoiceSets.DisplayLayout.Override.RowAppearance = appearance2;
            this.dgChoiceSets.DisplayLayout.Override.RowSelectors = Infragistics.Win.DefaultableBoolean.True;
            this.dgChoiceSets.DisplayLayout.Override.WrapHeaderText = Infragistics.Win.DefaultableBoolean.False;
            this.dgChoiceSets.DisplayLayout.RowConnectorStyle = Infragistics.Win.UltraWinGrid.RowConnectorStyle.None;
            this.dgChoiceSets.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
            this.dgChoiceSets.Location = new System.Drawing.Point(12, 33);
            this.dgChoiceSets.Name = "dgChoiceSets";
            this.dgChoiceSets.Size = new System.Drawing.Size(247, 379);
            this.dgChoiceSets.TabIndex = 0;
            this.dgChoiceSets.InitializeRow += new Infragistics.Win.UltraWinGrid.InitializeRowEventHandler(this.dgChoiceSets_InitializeRow);
            this.dgChoiceSets.InitializeLayout += new Infragistics.Win.UltraWinGrid.InitializeLayoutEventHandler(this.dgChoiceSets_InitializeLayout);
            this.dgChoiceSets.AfterSelectChange += new Infragistics.Win.UltraWinGrid.AfterSelectChangeEventHandler(this.dgChoiceSets_AfterSelectChange);

Parents
No Data
Reply
  • 469350
    Suggested Answer
    Offline posted

    Hi,

    It's really hard to read a code snippet like this, but I don't see anything here related to sorting.

    Sorting is controlled by the HeaderClickAction property on the Override object.

    So you need to set this to SortSingle or SortMulti on Band 0's override and None or maybe Select on Band 1's override.

Children