ERLEDIGT
JA
JA
ANTWORTEN
1
1
ZUGRIFFE
991
991
EMPFEHLEN
-
28.07.11 17:26 #1
Hallo ich habe noch eine Frage.
Und zwar gehts diesmal um das verfluchte DataGrid und wie man damit eigentlich richtig umgeht.
Sicher es gibt ein haufen Zeugs im internet was mal via google findet, aber keins beantwortet einem fragen wie: wie kann ich meine eigenen spalten definieren und dann eine Liste oder ein ähnliches object den spalten zuweisen.
Und das ist meine Hauptfrage.
Ich will meine Spalten VORHER schon deklarieren und DANN erst meine Daten (eine klasse von Typ Familiy mit Name Nachname zum beispiel) anzeigen lassen********
-
Hallo,
ich hatte auch erst meine Probleme mit dem Datagrid. Aber wenn man es mal verstanden hat, dann ist das echt super.
Also hier mal ein paar Infos:
Die Definition ist denkbar einfach.
Hier wird erst einmal ein Datagrid definiert. Wie gewünscht ohne automatische Header. Außerdem kann der User die Daten nachsortieren.Code :1 2
<data:DataGrid x:Name="GridSamples" HeadersVisibility="All" LoadingRow="GridSamples_LoadingRow" CanUserSortColumns="True" LoadingRowGroup="GridSamples_LoadingRowGroup" AutoGenerateColumns="False" > </data:DataGrid>
Per Code muss dann natürlich die Sache mit leben gefüllt werden.
Ich habe es mit einer eigenen Datenklasse gemacht.
Hier der Beispielcode:
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
Private Sub newHeader() 'Schleife über alle Kopfelemente For i As Integer = 0 To ElementList.Count - 1 Dim Elem As ElementConfig = ElementList.Values.ElementAt(i) 'Neues Kopfelement Dim Col As New DataGridTextColumn 'Spaltenüberschrift Col.Header = Elem.Symbol ' verbundenes Datenelement Col.Binding = New System.Windows.Data.Binding(Elem.KEY) 'HHE 05.05.2011 user can reorder samples Col.CanUserSort = True 'HHE 20.06.2011 FontSize changed to 14 Col.FontSize = 14 'Spalte dem Grid hinzufügen GridSamples.Columns.Add(Col) Next End Sub
Damit sind schon mal die Spaltenköpfe fertig. Jetzt müssen nur noch die Daten dazu gepackt werden. Das ist am einfachsten in dem man die in eine Liste Packt.
Code :1 2 3 4 5 6 7 8 9 10
Dim myDataSource As System.Collections.IEnumerable = Nothing Public Sub generate() 'Hier werden nur Daten umformatiert myDataSource = GenerateData(SampleList).ToDataSource 'daten zuweisen GridSamples.ItemsSource = myDataSource 'updaten, damit die Daten auch angezeigt werden GridSamples.UpdateLayout() End Sub
Wichtig ist dabei, das die Datasource eine collection ist, von Objekten, welche eine Eigenschaft haben, wie dem Binding endspricht.
Ich hoffe das hilft etwas weiter.
Gruß Henna
Ähnliche Themen
-
Nur bestimmte Spalten im Silverlight-Datagrid anzeigen
Von orion555 im Forum .NET WPF & SilverlightAntworten: 1Letzter Beitrag: 05.09.10, 22:52 -
Silverlight für Firefox
Von UliA im Forum .NET WPF & SilverlightAntworten: 12Letzter Beitrag: 05.08.09, 20:09 -
Linq in Silverlight
Von Ange2204 im Forum .NET WPF & SilverlightAntworten: 0Letzter Beitrag: 01.04.08, 08:19 -
Silverlight mit Blend 1
Von Merlin732 im Forum ASPAntworten: 1Letzter Beitrag: 19.12.07, 14:41 -
Datagrid inhalt an anderes datagrid übergeben!
Von c0si im Forum Visual Basic 6.0Antworten: 0Letzter Beitrag: 01.03.05, 11:14





Zitieren
Login





