Ciao a tutti,
ho realizzato una griglia per implementare un calendario. Vorrei sapere come colorare le celle di una data riga in base alla data. Vi faccio un esempio pratico:
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | .... |30|
| c | c | c | c | | c | c |
dove c è la cella colorata. Io riesco a colorare la singola cella in base alle sue coordinate in questo modo:
CalendarGrid.Cell(1, 1).BackColor = Color.Aqua
ma non so come sostituire (1,1) con i parametri di data prelevati da due textbox
Per completezza ecco come realizzo il calendario:
codice:
Dim flotta As String = "SELECT targa, modello, versione FROM flotta ORDER BY targa"
Dim recupera As New MySqlCommand(flotta, db.connessione)
Dim myReader As MySqlDataReader
Dim numero_mese = Date.DaysInMonth(Now.Year, Now.Month)
Dim mese = Now.Month
Try
db.connetti()
myReader = recupera.ExecuteReader()
While myReader.Read
frmMain.CalendarGrid.AddItem(myReader.Item("targa") & " - " & myReader.Item("modello") & " " & myReader.Item("versione"))
End While
db.disconnetti()
Catch ex As Exception
db.disconnetti()
MsgBox(ex.Message)
End Try
Select Case mese
Case 1
frmMain.cmpCalendario.Text = "Gennaio" & " " & Now.Year
Case 2
frmMain.cmpCalendario.Text = "Febbraio" & " " & Now.Year
Case 3
frmMain.cmpCalendario.Text = "Marzo" & " " & Now.Year
Case 4
frmMain.cmpCalendario.Text = "Aprile" & " " & Now.Year
Case 5
frmMain.cmpCalendario.Text = "Maggio" & " " & Now.Year
Case 6
frmMain.cmpCalendario.Text = "Giugno" & " " & Now.Year
Case 7
frmMain.cmpCalendario.Text = "Luglio" & " " & Now.Year
Case 8
frmMain.cmpCalendario.Text = "Agosto" & " " & Now.Year
Case 9
frmMain.cmpCalendario.Text = "Settembre" & " " & Now.Year
Case 10
frmMain.cmpCalendario.Text = "Ottobre" & " " & Now.Year
Case 11
frmMain.cmpCalendario.Text = "Novembre" & " " & Now.Year
Case 12
frmMain.cmpCalendario.Text = "Dicembre" & " " & Now.Year
End Select
frmMain.CalendarGrid.AutoRedraw = False
frmMain.CalendarGrid.Column(0).Width = "250"
frmMain.CalendarGrid.Column(0).FixedAlignment = MstGrid.TextAlignment.LeftCenter
For index As Integer = 1 To numero_mese
frmMain.CalendarGrid.AddCol(index)
frmMain.CalendarGrid.Cell(0, index).Text = index
frmMain.CalendarGrid.Column(index).FixedAlignment = MstGrid.TextAlignment.CenterCenter
frmMain.CalendarGrid.Column(index).Width = "25"
Next
frmMain.CalendarGrid.AutoRedraw = True