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

Rispondi quotando