C# System.Windows.Forms.DataGridViewTextBoxColumn Array Erstellen

S

Sasku

Gast
Hey Leute,

ich würde gerne von

System.Windows.Forms.DataGridViewTextBoxColumn

ein Array in der Länge von 365 Erstellen ... jetzt weis ich leider nicht wie ich das wo einfügen soll ... ? Soll ich dafür ne extra Methode schreiben oder sonst was? ... ich möchte nämlich dieses Array dazu benutzen, in meinem DataGrid ( welches ich dadurch hald selbst erstelle ) alle 365 Tage im Jahr anzuzeigen ... also eine Spalte pro Tag ...

oder muss ich dass per Hand überall einfügen ohne eine Schleife ( beispielsweise ) ? .. wäre sehr sehr mühsam ...
 
Du musst quasi niemals etwas doppelt machen. (soviel zum Thema per Hand einfügen). Programmierer sind faul ;)

Zur DataGridView. Diese braucht immer eine Datenquelle z.B. eine Datenbank.

dieses Tutorial geht im Grunde auf das ein was du machen möchtest:
http://tech.pro/tutorial/776/csharp-tutorial-binding-a-datagridview-to-a-collection

1. Du brauchst also deine DataGridView zum anzeigen.
2. z.B. eine BindingList https://msdn.microsoft.com/de-de/library/ms132679(v=vs.110).aspx (oder andere Datenquelle, wenn du hast)
3. Evtl ein Object für den Tag mit speziellen Eigenschaften (was an dem Tag passieren soll)
4. füllst deine BindingList mit Tagen (über Schleife oder rekursiv)
5. Bindest die BindingList an die DataGridView
6. Success
 
falauss schrieb:
Du musst quasi niemals etwas doppelt machen. (soviel zum Thema per Hand einfügen). Programmierer sind faul ;)

Das weis ich schon ... deswegen will ich ja auch nich 365 einträge per Hand machen :D

ja mal sehen ... ich habe eine MySql Datenbank und möchte hald etwas in dieser form anzeigen ( siehe Paint gekritzel .. )

aber momentan schaut es hald so aus ( siehe anderes bild )

und da möchte ich mir jetzt hald die ausgabe so bauen wie es auf dem ersten bild ist .. ^^
 

Anhänge

  • adsf.png
    adsf.png
    34,6 KB · Aufrufe: 136
  • Unbenannt.PNG
    Unbenannt.PNG
    10,2 KB · Aufrufe: 144
ich glaube ich würde weniger bei C# gucken und diese Aufgabe der Datenbank überlassen.

Bau dir eine View im Datenbank Schema z.B. view_MAVerteilung (die View sieht dann genauso aus wie deine Paint Tabelle)anschließend fragst du sie dann mit C# ab. Dann brauchst du später am Code nichts ändern wenn sich an der DB etwas verändert.


Wenn das deine einzige Tabelle ist die du hast. Also das DIE Tabelle der Datenbank ist die du nutzen möchtest/musst. Also um C# gefrickel kein Weg drumherum führt:

Dann würde ich ein Objekt erstellen. Dieses hat die Eigenschaften
Name
Abteilung
Datum

Beim einlesen aus der SQL DB packst du zu erst diese Daten das Objekt. Und hängst das Objekt in eine IList an.
Ich vermute du musst sicherheitshalber diese iList nochmal nach Datum sortieren. Aber am Ende hast du eine Liste mit vielen Einträgen zu Mitarbeitern und der jeweiligen Abteilung in der sie an einem bestimmten Tag sind.

Die IList bindest du dann an die DataGridView und fertig.

Alternativ kannst du auch eine iList in einer IList erstellen.
im Grunde dann IList[MitarbeiterName].IListMitarbeiterObjekt[TageAnWelchenErWoArbeitet]



Der Weg über eine View in der Datenbank ist aber Nachhaltiger und schneller!
 
Zurück
Oben