Quantcast
Channel: Windows Presentation Foundation (WPF) forum
Viewing all articles
Browse latest Browse all 18858

taborder in datagridrow

$
0
0

I updated the example so that the issue is easier to identify.  I would expect the following tab order...

CompanyName
FirstName
LastName
EmailAddress
Phone
SalesPerson

However, I get the following...

LastName
EmailAddress
Phone
CompanyName
FirstName
SalesPerson

<Window x:Class="WpfApplication1.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow" Height="350" Width="525" 
        Loaded="Window_Loaded"><Grid><DataGrid Name="dataGrid1" AutoGenerateColumns="False" KeyboardNavigation.TabNavigation="Local"><DataGrid.Columns><DataGridTextColumn KeyboardNavigation.TabIndex="0" Header="Company Name" Binding="{Binding CompanyName}"></DataGridTextColumn><DataGridTextColumn KeyboardNavigation.TabIndex="1" Header="Contact First Name" Binding="{Binding FirstName}"></DataGridTextColumn><DataGridTextColumn KeyboardNavigation.TabIndex="2" Header="Sales Person" Binding="{Binding SalesPerson}"></DataGridTextColumn></DataGrid.Columns><DataGrid.RowDetailsTemplate><DataTemplate><Border BorderThickness="0" Background="BlanchedAlmond" Padding="10"><StackPanel Orientation="Vertical"><StackPanel Orientation="Horizontal"><TextBlock FontSize="12" Text="Contact Last Name: " VerticalAlignment="Center" /><TextBox  TabIndex="1" FontSize="16" Foreground="MidnightBlue" Text="{Binding LastName}" VerticalAlignment="Center" /></StackPanel><StackPanel Orientation="Horizontal"><TextBlock FontSize="12" Text="Email: " VerticalAlignment="Center" /><TextBox TabIndex="1" FontSize="16" Foreground="MidnightBlue" Text="{Binding EmailAddress}" VerticalAlignment="Center" /></StackPanel><StackPanel Orientation="Horizontal"><TextBlock FontSize="12" Text="Phone: " VerticalAlignment="Center" /><TextBox TabIndex="1" FontSize="16" Foreground="MidnightBlue" Text="{Binding Phone}" VerticalAlignment="Center" /></StackPanel>                           </StackPanel></Border></DataTemplate></DataGrid.RowDetailsTemplate><DataGrid.RowStyle><Style TargetType="{x:Type DataGridRow}" BasedOn="{StaticResource {x:Type DataGridRow}}"><Setter Property="Template"><Setter.Value><ControlTemplate TargetType="{x:Type DataGridRow}"><Border KeyboardNavigation.TabNavigation="Local" x:Name="DGR_Border" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" SnapsToDevicePixels="True"><SelectiveScrollingGrid KeyboardNavigation.TabNavigation="Local"><SelectiveScrollingGrid.ColumnDefinitions><ColumnDefinition Width="Auto"/><ColumnDefinition Width="*"/></SelectiveScrollingGrid.ColumnDefinitions><SelectiveScrollingGrid.RowDefinitions><RowDefinition Height="*"/><RowDefinition Height="Auto"/></SelectiveScrollingGrid.RowDefinitions><DataGridCellsPresenter Grid.Column="1" Grid.Row="0" ItemsPanel="{TemplateBinding ItemsPanel}" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"/><DataGridDetailsPresenter Grid.Column="1" Grid.Row="1" SelectiveScrollingGrid.SelectiveScrollingOrientation="{Binding AreRowDetailsFrozen, ConverterParameter={x:Static SelectiveScrollingOrientation.Vertical}, Converter={x:Static DataGrid.RowDetailsScrollingConverter}, RelativeSource={RelativeSource AncestorType={x:Type DataGrid}}}" Visibility="{TemplateBinding DetailsVisibility}"/><DataGridRowHeader Grid.RowSpan="2" SelectiveScrollingGrid.SelectiveScrollingOrientation="Vertical" Visibility="{Binding HeadersVisibility, ConverterParameter={x:Static DataGridHeadersVisibility.Row}, Converter={x:Static DataGrid.HeadersVisibilityConverter}, RelativeSource={RelativeSource AncestorType={x:Type DataGrid}}}"/></SelectiveScrollingGrid></Border></ControlTemplate></Setter.Value></Setter></Style></DataGrid.RowStyle></DataGrid></Grid></Window>



private void Window_Loaded(object sender, RoutedEventArgs e)
{
    AdventureWorksLT2008Entities advenWorksEntities = new AdventureWorksLT2008Entities();

    ObjectQuery<Customer> customers = advenWorksEntities.Customers;

    var query =
    from customer in customers
    orderby customer.CompanyName
    select new
    {
        customer.LastName,
        customer.FirstName,
        customer.CompanyName,
        customer.Title,
        customer.EmailAddress,
        customer.Phone,
        customer.SalesPerson
    };

    dataGrid1.ItemsSource = query.ToList();
}



Viewing all articles
Browse latest Browse all 18858

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>