Announcement

Collapse
No announcement yet.

Probleme mit DataGrid unter C# und WPF

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Probleme mit DataGrid unter C# und WPF

    Hallo allerseits!

    Ich versuche mich momentan spaßeshalber an einem Kleinen Programm, das auf einer SQL-Datenbank als Grundlage aufbauen soll.
    Ich habe die Datenbank bereits erstellt und sie in mein C# Projekt per LinqToSQL eingebunden.
    Ich habe auch nach etwas Suchen das WPF-Datagrid Gefunden und es in die WPF-Anwendung eingebunden. Mit etwas in der Art von "myGrid.ItemsSource = LinqToSQL.Personen.ToList();" kann ich mir auch die komplette Tabelle anzeigen lassen, nur würde ich gerne ein paar Spalten bei der Anzeige ausblenden, die man als Benutzer nicht sehen braucht, die Programmlogik aber sehr wohl benötigt.

    Also kurz und knapp: Gibt es einen Weg einzelne Spalten des DataGrid sozusagen auszublenden?

    Bzw: Gibt es eine ausführliche Anleitung, wie man sowas umsetzen kann?

    Bei meiner bisherigen Suche bin ich immer wieder auf Beispiele mit dem DataGrid gestoßen, in denen in dem XAML-Teil mit Bindings gearbeitet wird. Aber daraus bin ich gar nicht schlau geworden. Ist das vielleicht der richtige Ansatz? und wenn ja, könnt ihr mir dabei weiterhelfen?


    Mit freundlichen Grüßen,
    Athlone

  • #2
    Bin selber auch noch Anfänger und habe bisher kein Datagrid benutzt, aber wenn, dann würde ich das hier und das hier mal durcharbeiten. Da ist auch die von dir erwähnte Sache mit den Bindings dabei. Ich denke, das ist der zurZeit einzig mögliche Weg (oder die Breite dieser Spalten auf 0 setzen?).

    bye,
    Helmut

    Comment


    • #3
      Ich bin kein WPF Spezialist, allerdings kann man bei den DataGrids eigentlich immer selbst die Spalten definieren die angezeigt werden und an welcher Property die Spalte gebunden werden soll.
      Das automatische Erzeugen der Spalten würde ich nie benutzen, da es gerade wenn man das Programm oder die Datenbanktabelle erwartet zu unerwünschten Ergebnisses führen kann. Ich muss z.B. den Code zum Anzeigen jedesmal ändern wenn ich in der DB eine neue Spalte hinzufüge, auch wenn diese nicht angezeigt wird.

      Schau mal hier:

      http://msdn.microsoft.com/de-de/libr...mn(VS.95).aspx

      Dort ist ein Beispiel definiert wie man in XAML ein DataGrid an bestimmte Properties bindet. Wenn Du etwas nicht sehen willst, dann definiere einfach kein Binding für diese Property.

      Comment


      • #4
        AHHH, ok ... danke für eure Antworten. Vermutlich wars heute Nacht einfach nur zu spät und ich habs desswegen nicht hinbekommen, aber jetzt ist es ganz klar:
        • Grid in der XAML einfügen
        • AutoGenerateColumns="False" setzen
        • innerhalb des DataGrid-Tags <myataGrid.Columns>-Tag einfügen
        • innerhalb dieses Tags können dann die einzelnen Spalten definiert werden. z.B. mit <myataGridTextColumn Header="Vorname" Binding="{Binding Vorname}"/>
        • Wichtig dabei ist, was mir eben nicht so klar war, dass man das Binding genau so wie oben beschrieben definiert, also: Binding="{Binding [Spaltenname]}
        • und schon funktioniert alles einwandfrei


        Also, danke nochmal und nen schönen Tag,
        Athlone
        Zuletzt editiert von Athlone; 04.03.2010, 12:56.

        Comment


        • #5
          Man tut sein Bestes

          Hier kannst Du nochmal wegen den Bindings nachlesen:

          http://msdn.microsoft.com/de-de/libr...22(VS.95).aspx

          Comment

          Working...
          X