Datagrid bei der als Spaltenbezeichnung Kalendertage erscheinen sollen

23/10/2007 - 17:31 von Marcus | Report spam
Hi,

würde gerne ein Datagrid erstellen bei der die Spalten einen Zeitraum
angeben sollen.
Also bsp. soll ein Zeitraum ausgewàhlt werden wie bsp. 23.10.07 bis 31.12.07
und dann soll das Datagrid pro Tag eine Spalte mit dem jeweiligen
Kalendertag(Datum) anzeigen.

Mir würde es schon reichen wenn ich dann alle Tage sortiert angefangen vom
23.10.07
in eine Array schreiben kann und dieses dann bis zum Ende durchlaufe, aber
mit welcher Funktion
bekomme ich die richtigen Datumsangaben nach Auswahl des Zeitraums in ein
Array?

Grüsse
Marcus
 

Lesen sie die antworten

#1 Peter Götz
23/10/2007 - 19:16 | Warnen spam
Hallo Marcus,

würde gerne ein Datagrid erstellen bei der die
Spalten einen Zeitraum angeben sollen.



Wirklich ein DataGrid?
Oder nicht doch lieber das neuere und
viel einfacher zu handhabende DataGridView?

Also bsp. soll ein Zeitraum ausgewàhlt werden
wie bsp. 23.10.07 bis 31.12.07 und dann soll
das Datagrid pro Tag eine Spalte mit dem
jeweiligen Kalendertag(Datum) anzeigen.



Das wàren in diesem Fall 70 Spalten.
Das würde ohne horz. Scrollen kaum gehen und
wàre somit wenig benutzerfreundlich.
Was willst Du bei noch viel grösseren Zeitràumen
machen?
Was (Datentyp) soll in den Zellen der einzelnen
Zeilen des Grids stehen?

Mir würde es schon reichen wenn ich dann
alle Tage sortiert angefangen vom 23.10.07
in eine Array schreiben kann und dieses dann
bis zum Ende durchlaufe,



Und was hat nun dieses Array mit Deinem Grid
zu tun?
Ich verstehe nicht welchen Zusammenhang es
da gibt.

aber mit welcher Funktion bekomme ich die
richtigen Datumsangaben nach Auswahl des
Zeitraums in ein Array?



Hier ein Beispiel, welches zwei Arrays mit den
Datumsangaben für den jeweiligen Zeitraum
datVon ... datBis erstellt. Ein Array mit Werten
vom Typ Date und eines mit Werten vom Typ
String.

Dim datVon As Date = New Date(2007, 10, 23)
Dim datBis As Date = New Date(2007, 12, 31)

Dim i As Integer
Dim datArray() As Date
Dim strArray() As String
Dim Fmt As String = "dd.MM.yy"
Dim TS As TimeSpan = datBis - datVon


' Arrays passend zur Anzahl der
' Tage dimensionieren.

ReDim datArray(TS.Days)
ReDim strArray(TS.Days)


' ... und Arrays mit den Datumswerten
' für den entspr. Zeitraum füllen.

datArray(0) = datVon
strArray(0) = datArray(0).ToString(Fmt)
For i = 1 To datArray.GetUpperBound(0)
datArray(i) = datArray(i - 1).AddDays(1)
strArray(i) = datArray(i).ToString(Fmt)
Next


Und was ist nun mit Deinem
Grid (DataGrid/DataGridView)?

Gruß aus St.Georgen
Peter Götz
www.gssg.de (mit VB-Tipps u. Beispielprogrammen)

Ähnliche fragen