Xceed Toolkit Plus for WPF v5.0 Documentation
In This Topic
    Using routed view properties
    In This Topic

    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.

    XAML
    Copy 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>
    VB.NET
    Copy Code
    dataGridControl.AutoCreateDetailConfigurations = True
    dataGridControl.Columns( "Photo" ).Visible = False
    Dim detailConfiguration As New DetailConfiguration()
    detailConfiguration.RelationName = "Employee_Orders"
    detailConfiguration.Title = "Employee Orders"
    detailConfiguration.Columns( "EmployeeID" ).Visible = False
    detailConfiguration.SetValue( TableView.DetailIndicatorWidthProperty, 50 )
    detailConfiguration.SetValue( TableView.FixedColumnCountProperty, 2 )
    Dim childDetailConfiguration As New DetailConfiguration()
    childDetailConfiguration.RelationName = "Order_OrderDetails"
    childDetailConfiguration.Title = "Order Details"
    childDetailConfiguration.SetValue( TableView.ShowFixedColumnSplitterProperty, false )
    childDetailConfiguration.SetValue( TableView.DetailIndicatorWidthProperty, 50 )
    detailConfiguration.DetailConfigurations.Add( childDetailConfiguration )
    dataGridControl.DetailConfigurations.Add( detailConfiguration )
    C#
    Copy Code
    dataGridControl.AutoCreateDetailConfigurations = true;
    dataGridControl.Columns[ "Photo" ].Visible = false;
    DetailConfiguration detailConfiguration = new DetailConfiguration();
    detailConfiguration.RelationName = "Employee_Orders";
    detailConfiguration.Title = "Employee Orders";
    detailConfiguration.Columns[ "EmployeeID" ].Visible = false;
    detailConfiguration.SetValue( TableView.DetailIndicatorWidthProperty, 50 );
    detailConfiguration.SetValue( TableView.FixedColumnCountProperty, 2 );
    DetailConfiguration childDetailConfiguration = new DetailConfiguration();
    childDetailConfiguration.RelationName = "Order_OrderDetails";
    childDetailConfiguration.Title = "Order Details";
    childDetailConfiguration.SetValue( TableView.ShowFixedColumnSplitterProperty, false );
    childDetailConfiguration.SetValue( TableView.DetailIndicatorWidthProperty, 50 );
    detailConfiguration.DetailConfigurations.Add( childDetailConfiguration );
    dataGridControl.DetailConfigurations.Add( detailConfiguration );