myCSharp.de - DIE C# und .NET Community
Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 
 | Suche | FAQ

» Hauptmenü
myCSharp.de
» Startseite
» Forum
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Suche
» Regeln
» Wie poste ich richtig?
» Forum-FAQ

Mitglieder
» Liste / Suche
» Wer ist wo online?

Ressourcen
» openbook: Visual C#
» openbook: OO
» Microsoft Docs

Team
» Kontakt
» Übersicht
» Wir über uns

» myCSharp.de Diskussionsforum
Du befindest Dich hier: Community-Index » Diskussionsforum » Entwicklung » GUI: WPF und XAML » Spalten aus einer Exceltabelle zur Laufzeit zu einem Datagrid hinzuladen - Binding im ViewMode
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | Thema zu Favoriten hinzufügen

Antwort erstellen
Zum Ende der Seite springen  

Spalten aus einer Exceltabelle zur Laufzeit zu einem Datagrid hinzuladen - Binding im ViewMode

 
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
Caveman Caveman ist männlich
myCSharp.de-Mitglied

avatar-3854.jpg


Dabei seit: 18.10.2009
Beiträge: 135
Entwicklungsumgebung: VS2017P; VS2019P


Caveman ist offline

Spalten aus einer Exceltabelle zur Laufzeit zu einem Datagrid hinzuladen - Binding im ViewMode

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Hallo,

ich habe ein Datagrid, das einige fest definierte Spalten hat. Nun möchte ich gerne aus einer Exceltabelle willkürliche Spalten zur Laufzeit hinzuladen.
Das hinzuladen der Spalten an sich ist (im Moment) nicht das Problem. Seit ein paar Tagen mache ich mir aber Gedanken darüber, wie ich die Excelspalten mit meinem ViewModel verbinde, komme aber auf keine Lösung. Wie muss ich das angehen?
Neuer Beitrag 03.08.2020 18:10 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Th69
myCSharp.de-Poweruser/ Experte

avatar-2578.jpg


Dabei seit: 01.04.2008
Beiträge: 3.677
Entwicklungsumgebung: Visual Studio 2015/17


Th69 ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Möchtest du genau eine (beliebige) Spalte jeweils hinzufügen oder mehrere?
Schau dir mal die Lösungen in  Filling a Datagrid with dynamic Columns an.
Welche ItemsSource verwendest du bisher? Wenn du schon eine DataTable benutzt, dann wäre das dynamische Hinzufügen einer Spalte die einfachste Lösung.
Neuer Beitrag 03.08.2020 18:41 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Caveman Caveman ist männlich
myCSharp.de-Mitglied

avatar-3854.jpg


Dabei seit: 18.10.2009
Beiträge: 135
Entwicklungsumgebung: VS2017P; VS2019P

Themenstarter Thema begonnen von Caveman

Caveman ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Hallo Th69,

es soll nach Möglichkeit eine beliebige Anzahl an Spalten hinzugefügt werden können.
Meine bisherige ItemsSource ist eine ObservableCollection von ViewModels, die eine Datenzeile repräsentieren - also ganz klassisch!
Die DataTable hatte ich gleich zu Beginn in betracht gezogen, dann aber ziemlich schnell verworfen, weil ich mehrfach gelesen habe, dass man diese nicht mehr verwenden sollte.
Werde mich aber am kommenden WE dann doch nochmals näher damit auseinandersetzen.
Neuer Beitrag 03.08.2020 20:11 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
T-Virus T-Virus ist männlich
myCSharp.de-Mitglied

Dabei seit: 17.04.2008
Beiträge: 1.568
Entwicklungsumgebung: Visual Studio, Codeblocks, Edi
Herkunft: Nordhausen, Nörten-Hardenberg


T-Virus ist offline Füge T-Virus Deiner Kontaktliste hinzu

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Das Problem von DataTables ist halt, dass diese ziemlich Speicherintensiv sind.
Wenn du beliebig viele Spalten und dann noch sehr viele Zeilen hast, dann wird dir der Speicherverbrauch irgendwann zu Krass ausfallen.
Musst du aber erst einmal austesten.
Ggf. kannst du mit Paging und dynamischen befüllen der DataSource das Problem umgehen.

T-Virus
Neuer Beitrag 03.08.2020 20:46 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Baumstruktur | Brettstruktur       | Top 
myCSharp.de | Forum
Antwort erstellen


© Copyright 2003-2020 myCSharp.de-Team | Impressum | Datenschutz | Alle Rechte vorbehalten. | Dieses Portal verwendet zum korrekten Betrieb Cookies. 15.08.2020 06:07