none
Im Datagrid wird grundsätzlich beim Start die erste Zeile markiert??? RRS feed

  • Frage

  • Hallo,

    Wie bekommt man ein Datagrid angezeigt, ohne dass standardmäßig die erste Zeile ausgewählt wird???

    Ich habe schon den SelectedIndex="-1" gesetzt und SelectedValue="NULL" und SelectedItem="NULL"

    Gruß Jürgen

    Freitag, 30. Oktober 2015 07:27

Antworten

  • Guten Tag,

    schade, dass hier keine Antwort mehr kam, aber die habe die Lösung selbst gefunden. Hier für die, die es interessiert.

    Im Codebehind einfach in einem datagrid_Loaded-Event den SelectedIndex = -1 setzen!

    private void DatagridView_Loaded(object sender, System.Windows.RoutedEventArgs e)
            {
                akteViewModelDataGrid.SelectedIndex = -1;
                            
            }

    • Als Antwort markiert Jürgen Sch Mittwoch, 4. November 2015 06:44
    Mittwoch, 4. November 2015 06:44

Alle Antworten

  • Hallo Jürgen,

    kannst du mal den Datagrid XAML Code und den Teil des Codes, den du beim Laden des Grids ausführst, posten ?

    Ich kann dein Phänomen bei Default-Werten nicht nachstellen. Bei mir wird die erste Zeile nicht ausgewählt.

    Gruß Claudius

    Freitag, 30. Oktober 2015 08:46
  • Hallo,

    unten die Ansicht im Designer, in der man die Markierung schon erkennen kann, denn ich habe in den Checkboxen der RowHeaders (kann man hier nicht erkennen) eine Bindung zum SelectedStatus der Zeilen erzeugt.

    Den gesamten Code hier zu posten wäre zu viel des Guten, da eine Bindung zu einer Tabelle einer SQL-Datenbank erzeugt wird.

    Das Datagrid befindet sich in einem Usercontrol:

    <UserControl x:Class="Test.View.WPF.TestListe"
                 xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
                 xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
                 xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
                 xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
                 xmlns:viewModel="clr-namespace:Test.ViewModel;assembly=Test.ViewModel"
                 xmlns:converters="clr-namespace:Test.View.WPF"
                 Name="TestlisteView"
                 mc:Ignorable="d">
    
        <UserControl.Resources>
            <viewModel:TestViewModelList x:Key="testViewModelList"/>
            <CollectionViewSource 
                x:Key="testListViewSource" 
                Source="{Binding Path=Akten, Source={StaticResource testViewModelList}}" />
            
            <!--Converter-->
            <converters:StatusAkteIntToIconFilenameConverter x:Key="StatusAkteConverter" />
            <converters:StatusAkteToolTipIntToStatus x:Key="StatusAkteToolTipConverter" />
            <converters:DatagridCheckedFontConverter x:Key="GridChangeFontConverter" />
        </UserControl.Resources>
    
        <Grid DataContext="{StaticResource testListViewSource}" 
              HorizontalAlignment="Left" 
              Width="Auto" Height="Auto" 
              VerticalAlignment="Top"
              Background="Transparent">
            <DataGrid x:Name="testViewModelDataGrid" RowDetailsVisibilityMode="VisibleWhenSelected" 
                      Margin="1" 
                      EnableRowVirtualization="True" AutoGenerateColumns="False"
                      ItemsSource="{Binding}"
                      GridLinesVisibility="None" BorderBrush="{x:Null}"
                      Style="{DynamicResource DataGridStyleTest}">

    Freitag, 30. Oktober 2015 12:10
  • Guten Tag,

    schade, dass hier keine Antwort mehr kam, aber die habe die Lösung selbst gefunden. Hier für die, die es interessiert.

    Im Codebehind einfach in einem datagrid_Loaded-Event den SelectedIndex = -1 setzen!

    private void DatagridView_Loaded(object sender, System.Windows.RoutedEventArgs e)
            {
                akteViewModelDataGrid.SelectedIndex = -1;
                            
            }

    • Als Antwort markiert Jürgen Sch Mittwoch, 4. November 2015 06:44
    Mittwoch, 4. November 2015 06:44