Autor Beitrag
DarkWinter
Hält's aus hier
Beiträge: 10



BeitragVerfasst: Mi 14.07.21 16:12 
Hi

mein DataGrid sieht am Anfang ohne Daten so aus . was muss ich machen, dass die Überschriften angezeigt werden
und die Zellen leer angezeigt werden? Das Grid ist größer wie die angezeigten Zeilen :?:

Oder zeigt mir das an, dass die ObservableCollection nicht richtig verbunden ist? Werden auch Spaltenüberschriften angezeigt, wenn die Liste leer ist?

user defined image

Moderiert von user profile iconTh69: C#-Tags hinzugefügt
Th69
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Moderator
Beiträge: 4470
Erhaltene Danke: 973

Win10
C#, C++ (VS 2015/17/19)
BeitragVerfasst: Mi 14.07.21 16:15 
Ja, die Spaltenüberschriften sollten auch bei einer leeren Liste angezeigt werden.

Wie hast du denn die ObservableCollection mit dem DataGrid verbunden?
Evtl. hilft dir auch folgender Artikel dazu: WPF und MVVM richtig einsetzen - Teil 5
DarkWinter Threadstarter
Hält's aus hier
Beiträge: 10



BeitragVerfasst: Mi 14.07.21 16:48 
ausblenden C#-Quelltext
1:
2:
ObservableCollection<observ> dglist = new ObservableCollection<observ>();
dGrid.ItemsSource = dglist;

Mein Fehler - jetzt klappts, man sollte XAML und Code-behind nicht verwechseln :D
Die Spaltenüberschriften sind da - leider nur eine Eingabezeile - ob man da noch was ändern kann?
Ralf Jansen
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 4553
Erhaltene Danke: 943


VS2010 Pro, VS2012 Pro, VS2013 Pro, VS2015 Pro, Delphi 7 Pro
BeitragVerfasst: Mi 14.07.21 17:25 
Du bekommst soviele Zeilen wie in der dglist vorhanden sind plus eine Zeile für eine potentielle neue Row.
In den meisten Fällen macht es auch keinen Sinn mehr als eine zu haben. Man kann ja auch immer nur eine Zelle auf einmal bearbeiten.

Willst du mehr als eine leere Row haben müsstest du die bereits in der Datenquelle vorher anlegen mit leeren Daten.
Und dann voraussichtlich irgendwas intelligentes tun um diese leeren Daten nicht weiterzuverarbeiten.

Moderiert von user profile iconTh69: C#-Tags hinzugefügt
DarkWinter Threadstarter
Hält's aus hier
Beiträge: 10



BeitragVerfasst: Mi 14.07.21 21:09 
user profile iconTh69 hat folgendes geschrieben Zum zitierten Posting springen:

Evtl. hilft dir auch folgender Artikel dazu: WPF und MVVM richtig einsetzen - Teil 5

Ehrlich gesagt ist mir das zu schwer um es zu verstehen - seit es dieses ganze DataModel/ViewModel MMVMMVMMMV Zeuch gibt ist Programmieren ganz schön komplex geworden
früher, damals :D konnte man mal eben schnell einen Idee umsetzen, auch wenn man nicht Informatik studiert hat, aber man zumindest interessiert war -
heute steht so viel theoretisches Wissen davor, dass der Lernberg immer größer wird - da bin ich schon bei Android/Kotlin dran gescheitert

Bei C# bin ich zwar schon viel weiter aber gute Tutorials sind irgendwie rar gesät und ja ich will verstehen was ich da mache -
jetzt steh ich vor notifyChanged oder UpdateSourceTrigger oder RoweEditEnding oder CellEditEnding und versteh erst mal nur böhmische Dörfer :)
dabei will ich nur mein DataGrid speichern - sowas wie saveDataGrid wäre doch einfach und nachvollziehbar :lol:

Moderiert von user profile iconTh69: C#-Tags hinzugefügt
Th69
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Moderator
Beiträge: 4470
Erhaltene Danke: 973

Win10
C#, C++ (VS 2015/17/19)
BeitragVerfasst: Do 15.07.21 11:57 
WPF ist ja auch eher für fortgeschrittene Entwickler gedacht, welche sowohl die Sprache C#, Design-Patterns als auch das .NET-System verstehen und schon einige andere Projekte umgesetzt haben.

Und gerade die Trennung von UI und Logik ist eben die fundamentale Weiterentwicklung von WPF (mittels MVVM), daher gibt es dort kein saveDataGrid. ;-)
DarkWinter Threadstarter
Hält's aus hier
Beiträge: 10



BeitragVerfasst: Fr 16.07.21 12:15 
Hab die ObservableCollection durch ein DataTable ersetzt - und es funktioniert für das was ich brauche 8)

Das versöhnt mich wieder etwas :D