WPF DataGrid kann keine Zeile hinzufügen, wenn die Datenquelle leer ist

8

CanUserAddRows="True" funktioniert nur, wenn bereits Daten in ItemsSource von DataGrid vorhanden sind. Wenn in der ursprünglichen Liste der Elemente keine Zeilen vorhanden sind, zeigt% ce_de% keine DataGrid -Zeile für die Eingabe neuer Elemente an, obwohl ich placeholder festgelegt habe. Warum?!

Vielen Dank im Voraus, Trindaz

    
Trindaz 16.01.2010, 00:28
quelle

2 Antworten

2

Dies scheint ein bekanntes Problem mit WPF DataGrid zu sein. Siehe Diskussion hier (ab der 4. Kommentar) scheint es auch in .net fixiert wird 4. ich für dieses Problem auf 3,5 und 4 (beta2) Frameworks einige Tests gemacht habe. Pls, siehe Ergebnisse unten:

Zuerst habe ich drei Arten von Artikelsammlungen definiert:

%Vor%

wo TestGridItem unten ist:

%Vor%

.net 3.5

TestGridItems0 und TestGridItems1 nicht eine leere Zeile für eine leere Sammlung zeigen; wo als TestGridItems2 hat gut funktioniert.

.net 4

nur TestGridItems0 zeigte nicht die Leitung für die leere Sammlung; andere 2 funktionierte gut.

xaml für das Gitter:

%Vor%

unten ist, wie die Elementquelle zugewiesen wurde:

%Vor%

hoffe das hilft, grüße

    
serge_gubenko 16.01.2010, 19:27
quelle
1

Fügen Sie Ihrer ItemsSource ein leeres Element hinzu und entfernen Sie es anschließend. Möglicherweise müssen Sie CanUserAddRows danach wieder auf "true" setzen. Ich lese diese Lösung hier : (Beiträge von Jarrey und Rick Roen)

Ich hatte dieses Problem, als ich die ItemsSource auf die DefaultView einer DataTable setzte und die Ansicht leer war. Die Spalten wurden zwar definiert, sollten aber in der Lage sein, sie zu bekommen. Heh.

    
Mike Blandford 27.11.2010 17:31
quelle

Tags und Links