NET CSHARP DataGrid mit WPF individuell befüllen
Hi,
ich möchte ein DataGrid Individuell befüllen
=> das ganze wird so aussehen, dass ich über eine Oracle-Abfrage (welche vom Anwender verändert werden kann) Daten aus einer SQL-Datenbank abruft...
anhand dieses Abrufes soll ein DataGrid aufgebaut werden...
üblicherweise bau ich ja ein List<object> auf:
das Object kann ich dann befüllen und über ItemsSource mit meinem Grid verlinken <- funktioniert Prima...
Leider weiß ich vorher nicht, wie viele Spalten und auch nicht was für ein "BINDING" ich brauche...
Das Grid erzeugen ist einfach und auch das Binding wird einfach nach Spaltennamen im SQL erzeugt.
=> nehmen wir mal an alle Daten sind Strings (ich würde Integer Konvertieren und Blobs so oder so nicht im Grid anzeigen)
kann ich jetzt ein "allgemeines Object" aus Strings erzeugen, welches ich dann an mein Grid binden kann?
ich weiß, dass ich gerade etwas auf dem Holzweg bin und ich fürchte dass auch mein Ansatz so nicht funktioniert...
Klar ist das ganze nicht Dummy sicher, aber das soll die Software auch gar nicht sein... <- der SQL-Code wird nur von Profis eingefügt und muss nicht im Tool, sondern bereits vorher validiert werden...
dennoch, würde ich gerne mehr oder weniger die spalten Automatisch erzeugen. Später möchte ich noch einfügen, dass man die "zu anzeigenden" Spalten selektieren kann...
Eine weitere Idee war es, ein Object zu erzeugen welches "ausreichend" Spalten besitzt... <- also z.B. 99 Stück... diese werden dann "niemals" benötigt...
=> aber auf der anderen Seite entsteht hier unübersichtlicher unsauberer Code
Ich bin für Tipps offen und hoffe hier Hilfe zu bekommen.
Gerne nachfragen, wenn ich etwas "unklar" erklärt habe.
1000 Dank schon jetzt
ich möchte ein DataGrid Individuell befüllen
=> das ganze wird so aussehen, dass ich über eine Oracle-Abfrage (welche vom Anwender verändert werden kann) Daten aus einer SQL-Datenbank abruft...
anhand dieses Abrufes soll ein DataGrid aufgebaut werden...
üblicherweise bau ich ja ein List<object> auf:
public class object {
public string FELDA { get; set; }
public string FELDB { get; set; }
public string FELDC { get; set; }
}
das Object kann ich dann befüllen und über ItemsSource mit meinem Grid verlinken <- funktioniert Prima...
Leider weiß ich vorher nicht, wie viele Spalten und auch nicht was für ein "BINDING" ich brauche...
Das Grid erzeugen ist einfach und auch das Binding wird einfach nach Spaltennamen im SQL erzeugt.
=> nehmen wir mal an alle Daten sind Strings (ich würde Integer Konvertieren und Blobs so oder so nicht im Grid anzeigen)
kann ich jetzt ein "allgemeines Object" aus Strings erzeugen, welches ich dann an mein Grid binden kann?
List<alg_obj> data = new List<alg_obj>(); //wie komme ich zum alg_obj ohne "alle möglichen" Variationen erstellen zu müssen
schleife für alle daten {
data.Add( new alg_obj() { FELDA = "string1", FELDB = "string2" }); //wie kann ich hier meine Bindings als Variablen übergeben?
}
ich weiß, dass ich gerade etwas auf dem Holzweg bin und ich fürchte dass auch mein Ansatz so nicht funktioniert...
Klar ist das ganze nicht Dummy sicher, aber das soll die Software auch gar nicht sein... <- der SQL-Code wird nur von Profis eingefügt und muss nicht im Tool, sondern bereits vorher validiert werden...
dennoch, würde ich gerne mehr oder weniger die spalten Automatisch erzeugen. Später möchte ich noch einfügen, dass man die "zu anzeigenden" Spalten selektieren kann...
Eine weitere Idee war es, ein Object zu erzeugen welches "ausreichend" Spalten besitzt... <- also z.B. 99 Stück... diese werden dann "niemals" benötigt...
=> aber auf der anderen Seite entsteht hier unübersichtlicher unsauberer Code
Ich bin für Tipps offen und hoffe hier Hilfe zu bekommen.
Gerne nachfragen, wenn ich etwas "unklar" erklärt habe.
1000 Dank schon jetzt
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 358790
Url: https://administrator.de/contentid/358790
Ausgedruckt am: 22.11.2024 um 09:11 Uhr
2 Kommentare
Neuester Kommentar
Create a datatable and bind it to the gridview.
Best regards
Tom
Best regards
Tom