TableView Class
See Also  Members   Example 
Xceed.Wpf.DataGrid Assembly > Xceed.Wpf.DataGrid.Views Namespace : TableView Class

Represents a table-view layout in which rows are laid out horizontally in a traditional grid-like style.

Object Model


Syntax

Visual Basic (Declaration) 
Public Class TableView 
   Inherits UIViewBase
   Implements ISupportInitializeIFrameworkInputElementIInputElementIAnimatable 

Example

All examples in this topic assume that the grid is bound to the Orders table of the Northwind database, unless stated otherwise.
The following examples demonstrates how to use attribute syntax to apply a card-view layout, with the normal-color Aero theme, to a grid.
XAMLCopy Code
<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}}" 
                        View="CardView.Zune.NormalColor"/> 
</Grid>
The following examples demonstrates how to use property element syntax to apply a card-view layout, with the normal-color Aero theme, to a grid.
XAMLCopy Code
<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.View> 
        <xcdg:CardView> 
           <xcdg:CardView.Theme> 
              <xcdg:ZuneNormalColorTheme/> 
           </xcdg:CardView.Theme> 
        </xcdg:CardView> 
     </xcdg:DataGridControl.View> 
   </xcdg:DataGridControl> 
</Grid>
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.
XAMLCopy Code
<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>

Remarks

The View property of the DataGridControl class determines which view is applied to a grid. If the View property is left to its default value, null (Nothing in Visual Basic), or explicitly set to null, the default table-view layout will be used with the system color scheme. The Theme property of the View class can be set to change the color scheme applied to a grid's elements. If left to its default value, null, the system color scheme will be used. In either case, if the system-color theme is not recognized (e.g., a third-party color scheme is being used), the Aero normal-color theme will be used.

Views and themes can be set through attribute syntax or property element syntax. To change the default view and/or theme using attribute syntax, the name of the view to use (e.g., CardView) must be provided, optionally followed by the name of the theme class (e.g., NormalColorTheme), or the name of the class without the "Theme" portion. If the theme is omitted, the default Aero normal-color theme will be used.

Fixed Columns vs. Templates This feature is available only in the Professional Edition 

In order to support fixed columns when creating a new row template for a table-view layout, the following criteria must be met:

  1. The PART_CellsHost template part must be a FixedCellPanel.
  2. The FixedCellCount property of the FixedCellPanel must be bound to the table view's FixedColumnCount property using a TwoWay ViewBinding.

The fixed-cell-panel properties listed below are also usually bound when provided a new row template for a table-view layout:

  1. SplitterStyle (TemplateBinding xcdg:TableView.FixedColumnSplitterStyle)
  2. SplitterWidth (xcdg:ViewBinding FixedColumnSplitterWidth)
  3. ShowSplitter (xcdg:ViewBinding ShowFixedColumnSplitter)
  4. FixedColumnDropMarkPen (xcdg:ViewBinding FixedColumnDropMarkPen)

If a new template is provided for a DataGridControl and fixed columns are to be supported, it is essential that a TableViewScrollViewer be used. This scroll viewer is responsible for preserving the TranslateTransforms that fix and scroll elements, as well as executing the PageLeft and PageRight actions according to the reduced viewport.  It is also recommended that an AdornerDecorator be located above the TableViewScrollViewer of the templated DataGridControl to support drag and dropping of the fixed-column splitter correctly.

Inheritance Hierarchy

System.Object
   System.Windows.Threading.DispatcherObject
      System.Windows.DependencyObject
         System.Windows.ContentElement
            System.Windows.FrameworkContentElement
               Xceed.Wpf.DataGrid.Views.ViewBase
                  Xceed.Wpf.DataGrid.Views.UIViewBase
                     Xceed.Wpf.DataGrid.Views.TableView

Requirements

Supported Operating Systems: Windows Server 2003 Service Pack 1; Windows Vista; Windows XP Service Pack 2

See Also