/ / seltsame Auswahl mit Datagrid in Wpf - Wpf, Bindung, Datagrid, Observablecollection

seltsame Auswahl mit DataGrid in WPF - WPF, Bindung, DataGrid, ObservableCollection

Ich arbeite mit WPF und EF. Ich verwende ein Datagrid, um Informationen anzuzeigen.

In meinem Ansichtsmodell habe ich eine ObservableCollection. Diese Sammlung ist die direkte Quelle meines DataGrid. Hier ist die Deklaration meines DataGRid:

<DataGrid Margin="6" BorderBrush="Black" BorderThickness="1"
AutoGenerateColumns="False"
SelectionMode="Extended"
SelectionUnit="FullRow"
AlternatingRowBackground="Gainsboro"
AlternationCount="2"
Name="DataGridClientSpecs"
CanUserAddRows="False"
ItemsSource="{Binding ClientSpecifications}"
VerticalScrollBarVisibility="Auto" Height="500" >
<DataGrid.Columns>
<DataGridCheckBoxColumn Header="Wanted ?" Binding="{Binding Wanted}" />
<DataGridTextColumn Header="Product" Binding="{Binding ProductSpecification.ProductType}" />
<DataGridTextColumn Header="Conditionnement" Binding="{Binding ProductSpecification.ConditionnementType}" />
<DataGrid.Columns>
</DataGrid>

Und ich habe 2 Probleme:

  • Wenn ich versuche, eine Zeile auszuwählen, wird immer die erste Zeile ausgewählt.

  • Einige Zeilen sind doppelt vorhanden.

Wenn ich die Sammlung an eine ListBox binde, habe ich keine doppelten Zeilen, aber die Auswahl funktioniert noch nicht.

Hoffe, jemand kann mir helfen ...

Prost

Thomas

Antworten:

1 für die Antwort № 1

Ich habe mein Problem gelöst :-)

Es ist die Schuld des Entity Frameworks! Da es sich um eine Liste neuer Elemente handelt (ich meine, dass sie nicht in der Datenbank vorhanden sind), sind ihre IDs gleich 0, und da ich die Equals () - Methode für diese Klasse überschreibe und den Vergleich durchführe Die ID, die ID ist immer 0, also sind alle Elemente meiner Liste gleich :-)

Übrigens, es ist dasselbe mit allen Controls, die eine Liste von Elementen anzeigen.

Problem gelöst ! Ich hoffe es hilft den Leuten.

Prost Thomas