ComponentOne List for WinForms
In This Topic
    Horizontal Scrolling and Fixed Columns
    In This Topic

    Scrolling is independent for each split. Often, you need to prevent one or more columns from scrolling horizontally or vertically so that they will always be in view. List for WinForms provides you with an easy way to keep any number of columns from scrolling at any location within the list (even in the middle!) by setting a few split properties.

    As an example, assume that you have a list with three horizontal splits. The following code will "fix" columns 0 and 1 in the middle split:

    To write code in Visual Basic

    Visual Basic
    Copy Code
    ' Hide all columns in Splits(1) except for columns 0 and 1.
    Dim Cols As C1.Win.C1List.C1DisplayColumnCollection        
    Dim C As C1.Win.C1List.C1DisplayColumn
    Cols = Me.C1List1.Splits(1).DisplayColumns
    For Each C In Cols  
        C.Visible = False
    Next C
    Cols(0).Visible = True
    Cols(1).Visible = True
            
    ' Configure Splits(1) to display exactly two columns, and disable resizing.        
    Me.C1List1.Splits(1).SplitSizeMode = C1.Win.C1List.SizeModeEnum.NumberOfColumns        
    Me.C1List1.Splits(1).SplitSize = 2
    
    

    To write code in C#

    C#
    Copy Code
    // Hide all columns in Splits[1] except for columns 0 and 1.        
    C1.Win.C1List.C1DisplayColumnCollection Cols;        
    C1.Win.C1List.C1DisplayColumn C;        
    Cols = this.C1List1.Splits[1].DisplayColumns;        
    foreach (C in  Cols)        
    {        
        C.Visible = false;        
    }        
    Cols[0].Visible = true;        
    Cols[1].Visible = true; 
            
    // Configure Splits[1] to display exactly two columns, and disable resizing        
    this.C1List1.Splits[1].SplitSizeMode = C1.Win.C1List.SizeModeEnum.NumberOfColumns;        
    this.C1List1.Splits[1].SplitSize = 2;
    

    Usually, if you keep columns 0 and 1 from scrolling in one split, you will want to make them invisible in the other splits:

    To write code in Visual Basic

    Visual Basic
    Copy Code
    ' Make columns 0 and 1 invisible in splits 0 and 2.        
    Dim Cols As C1.Win.C1List.C1DisplayColumnCollection        
    Cols = Me.C1List1.Splits(0).DisplayColumns        
    Cols(0).Visible = False        
    Cols(1).Visible = False        
    Cols = Me.C1List1.Splits(2).DisplayColumns        
    Cols(0).Visible = False        
    Cols(1).Visible = False
    

    To write code in C#

    C#
    Copy Code
    // Make columns 0 and 1 invisible in splits 0 and 2.        
    C1.Win.C1List.C1DisplayColumnCollection Cols;        
    Cols = this.c1List1.Splits[0].DisplayColumns;        
    Cols[0].Visible = false;        
    Cols[1].Visible = false;        
    Cols = this.c1List1.Splits[2].DisplayColumns;        
    Cols[0].Visible = false;        
    Cols[1].Visible = false;