Xceed DataGrid for WPF v7.3 Documentation
Xceed.Wpf.DataGrid Assembly / Xceed.Wpf.DataGrid Namespace / ColumnBase Class / VisiblePosition Property
Example


In This Topic
    VisiblePosition Property (ColumnBase)
    In This Topic
    Gets or sets the visible position of the column.
    Syntax
    'Declaration
     
    Public Property VisiblePosition As Integer
    'Usage
     
    Dim instance As ColumnBase
    Dim value As Integer
     
    instance.VisiblePosition = value
     
    value = instance.VisiblePosition
    public int VisiblePosition {get; set;}

    Property Value

    A zero-based value representing the visible position of the column. By default, strong>int.MaxValue.
    Remarks

    The VisiblePosition property represents the visible position of the column in a grid and may, or may not, correspond to the Index property. A column's visible position can be regarded as the position the column will take when it is visible. Changing a column's visibility will not affect its visible position, allowing the visibility of columns to be changed without them being reordered. To retrieve the effective visible position of a column, the IndexOf method of the VisibleColumns collection can be used.

    When fixing columns in a table-view layout, columns will be fixed in the order represented by their VisiblePosition properties. For example, if the FixedColumnCount property is set to 2, then the columns whose VisiblePosition properties are 0 and 1 will be fixed.

    If a grid contains hidden columns, they will be ignored. For example, if the second and third columns are hidden and a fixed-column count of 2 is provided, the first and fourth columns will be fixed but their visible positions will not be modified to reflect their new positions.

    Note that if a column is contained under a parent column, it may not be possible to move it to the desired visible position if that position is not possible under the parent column.

    Example
    All examples in this topic assume that the grid is bound to the Orders or Employees table of the Northwind database, unless stated otherwise.
    The following example demonstrates how to fix the ShipCountry and ShipCity columns.The following example demonstrates how to set routed view properties on detail configurations to change the width of their detail indicators as well as to fix columns and remove the fixed-column splitter.
    <Grid xmlns:xcdg="http://schemas.xceed.com/wpf/xaml/datagrid"> 
      <Grid.Resources> 
        <xcdg:DataGridCollectionViewSource x:Key="cvs_orders" 
                                        Source="{Binding Source={x:Static Application.Current}, 
                                                          Path=Orders}"/> 
      </Grid.Resources> 
       <xcdg:DataGridControl x:Name="OrdersGrid" 
                             ItemsSource="{Binding Source={StaticResource cvs_orders}}"> 
     
          <xcdg:DataGridControl.Columns> 
             <xcdg:Column FieldName="ShipCountry" VisiblePosition="0"/> 
             <xcdg:Column FieldName="ShipCity" VisiblePosition="1"/> 
          </xcdg:DataGridControl.Columns> 
          <xcdg:DataGridControl.View> 
     
            <xcdg:TableView FixedColumnCount="2"/> 
          </xcdg:DataGridControl.View> 
       </xcdg:DataGridControl> 
    </Grid>
    <Grid xmlns:xcdg="http://schemas.xceed.com/wpf/xaml/datagrid" 
          xmlns:local="clr-namespace:Xceed.Wpf.Documentation"> 
      <Grid.Resources> 
         <xcdg:DataGridCollectionViewSource x:Key="cvs_employees" 
                                            Source="{Binding Source={x:Static Application.Current}, 
                                                        Path=Employees}" /> 
      </Grid.Resources> 
      <xcdg:DataGridControl x:Name="EmployeesGrid" 
                          ItemsSource="{Binding Source={StaticResource cvs_employees}}" 
                          AutoCreateDetailConfigurations="True"> 
         <xcdg:DataGridControl.Columns> 
            <xcdg:Column FieldName="Photo" 
                         Visible="False" /> 
         </xcdg:DataGridControl.Columns> 
         <xcdg:DataGridControl.DetailConfigurations> 
     
            <xcdg:DetailConfiguration RelationName="Employee_Orders" 
                                      Title="Employee Orders" 
                                      xcdg:TableView.DetailIndicatorWidth="50" 
                                      xcdg:TableView.FixedColumnCount="2"> 
               <xcdg:DetailConfiguration.Columns> 
                  <xcdg:Column FieldName="EmployeeID" 
                               Visible="False" /> 
               </xcdg:DetailConfiguration.Columns> 
               <xcdg:DetailConfiguration.DetailConfigurations> 
                  <xcdg:DetailConfiguration RelationName="Order_OrderDetails" 
                                            Title="Order Details" 
                                            xcdg:TableView.ShowFixedColumnSplitter="False" 
                                            xcdg:TableView.DetailIndicatorWidth="50"/> 
               </xcdg:DetailConfiguration.DetailConfigurations> 
            </xcdg:DetailConfiguration> 
         </xcdg:DataGridControl.DetailConfigurations> 
      </xcdg:DataGridControl> 
    </Grid>
    Requirements

    Target Platforms: Windows 11, Windows, 10, Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

    See Also