Jahreskalender im DataGrid realisieren
-
Hallo Jungs,
ich versuche einen Mitarbeiter Jahreskalender in einem DataGrid zu realisieren und habe Probleme dabei die ich nicht lösen kann.
Erster Ansatz:
Eine MitarbeiterKlasse mit einer Collection<JahresMonat>. 12 zusätzliche Columns für jeden Monat im Jahr. Ein Monat wird durch ein UserControl dargestellt in dem ich durch DrawingContext alles nötige einzeichne.
Hier habe ich das Problem - das ich die Auswahl eines Zeitraums (Tage) über mehrere Monate hinaus nicht realisiert bekomme.Zweiter Ansatz:
Wie oben, allerdings nur eine Column (UC) welche testweise das ganze Jahr darstellt. Die ColumnWidth kommt somit locker auf 2500Px. Die Selektierung von Tagen über mehrere Monate ist so kein Problem, allerdings scheine ich die maximale ColumnWidth zu überschreiten - so dass der "Dezember" gar nicht mehr angezeigt wird. Denke das liegt am ScrollViewer !?Hat jemand einen anderen Ansatz für mich - der auch noch "akzeptabel" Performat ist ?
-
Zu 2)
Was ist mit einen Listview:http://tech.pro/tutorial/742/wpf-tutorial-using-the-listview-part-1
http://tech.pro/tutorial/847/wpf-tutorial-using-the-listview-part-2-sorting
http://tech.pro/tutorial/857/wpf-tutorial-using-the-listview-part-3-in-place-editSchau Dir mal Teil 3 für deine UCs an.
Zu 1)
Schau dir mal LINQ to Objects an.
http://msdn.microsoft.com/en-us/library/bb308959.aspx
-
Danke erstmal. Ich habe es mit einem ListView versucht. Allerdings ist mir nicht klar was genau du meintest. Also hab ich eine DataGridTemplateColumn->DataTemplate->ListView genutzt - was das ganze tödlich langsam macht.
Also versuche ich kein DataGrid - nur eine ListView. Aber hier das gleiche Problem. Auf der Y-Achse sollen alle Mitarbeiter erscheinen. Auf der X-Achse soll das Jahr eben taggenau in Spalten angezeigt werden.
http://www.bilderload.com/bild/354645/samplepreview5T8PJ.jpg
Ich suche nach einer Lösung die dies akzeptabel darstellt, eine Auswahl mehrerer Tage über Monate hinaus ermöglicht - und dabei möglichst performant ist.
-
Auch Du hast eine fertige App...
Ja, bei dem Aufbau wirst Du wenn Du direkt mit
DataGridTemplateColumn->DataTemplate
natürlich eine schwache Laufzeitbetrachtung bekommen. - Optisch schön, aber langsam.Was ist, wenn Du einen Cache einziehst:
http://msdn.microsoft.com/de-de/library/dd997362(v=vs.110).aspx
Dann geht es zu mindestens im zweiten Aufruf schneller.
Wenn der RAM schon 24 MB beträgt, bringt Dich das auch nicht um.
Wenn Du die Daten in einem extra Thread im Cache aktualisiert gehen Datenbankabfragen auch schneller.Ist der vertikale Scollbalken über 12 Monate jetzt Absicht?
Limitiere das doch auf monatsweise.
-
Das klingt nach einen Virus.
-
Virus ? - mach das nur als Hobby also habt gnade
die Daten werden bereits in einem weiteren Thread zusammengestellt. Dieser brauch allerdings nichteinmal 0,3 Sekunden zum zusammenstellen. Der ItemContainer macht das ganze so langsam denke ich.
Vertikaler Scrollbalken - wo siehst n du den ?
Deinen Link schaue ich mir jetzt mal an - melde mich.
-
Oh, sorry. Meine natürlich horizontal.
Wenig Zeit i.M.