tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
1
ZUGRIFFE
991
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von Blackhawk50000
    Blackhawk50000 Blackhawk50000 ist offline Mitglied Brokat
    Registriert seit
    Oct 2007
    Ort
    Erding As, Bayern, Germany, Germany
    Beiträge
    328
    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********
     

  2. #2
    Henna1977 Henna1977 ist offline Grünschnabel
    Registriert seit
    Sep 2011
    Beiträge
    2
    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.
    Code :
    1
    2
    
            <data:DataGrid x:Name="GridSamples" HeadersVisibility="All" LoadingRow="GridSamples_LoadingRow" CanUserSortColumns="True" LoadingRowGroup="GridSamples_LoadingRowGroup" AutoGenerateColumns="False" >
            </data:DataGrid>
    Hier wird erst einmal ein Datagrid definiert. Wie gewünscht ohne automatische Header. Außerdem kann der User die Daten nachsortieren.

    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

  1. Nur bestimmte Spalten im Silverlight-Datagrid anzeigen
    Von orion555 im Forum .NET WPF & Silverlight
    Antworten: 1
    Letzter Beitrag: 05.09.10, 22:52
  2. Silverlight für Firefox
    Von UliA im Forum .NET WPF & Silverlight
    Antworten: 12
    Letzter Beitrag: 05.08.09, 20:09
  3. Linq in Silverlight
    Von Ange2204 im Forum .NET WPF & Silverlight
    Antworten: 0
    Letzter Beitrag: 01.04.08, 08:19
  4. Silverlight mit Blend 1
    Von Merlin732 im Forum ASP
    Antworten: 1
    Letzter Beitrag: 19.12.07, 14:41
  5. Datagrid inhalt an anderes datagrid übergeben!
    Von c0si im Forum Visual Basic 6.0
    Antworten: 0
    Letzter Beitrag: 01.03.05, 11:14