TDBGrid
Dopo molti giorni ecco che scrivo di nuovo (con il caldo, il bel tempo, la residenza a casa della morosa faccio fatica).
Scrivo dal lavoro come promemoria per alcune cose che ho scoperto in questi giorni.
Evento Expand
L’evento Expand di una TDBGrid si scatena solo quando la TDBGrid è di tipo OLE DB.
Filtro con DropDownList
Nella colonna per cui desidero creare una DropDownList nella FilterBar devo abilitare le proprietà Button, DropDownList e FilterButton. Nel tab Values delle proprietà della TDBGrid abilitare la proprietà Translate, selezionare la modalità di Presentation come “3 – Sorted Combo Box” (dbgSortedComboBox) e definire gli elementi.
Formattazione testo personalizzata
Se volessi formattare un testo in maniera particolare un testo all’interno di una TDBGrid devo impostare per la colonna desiderata la proprietà NumberFormat e scegliere l’opzione “FormatText Event”.
Nella routine delle evento sarà sufficiente andare ad elaborare la stringa nella maniera desiderata, ad esempio, solo per le colonne che lo richiedono, formatto una data particolare come tipo Date:
Private Sub TDBGrid1_FormatText(ByVal ColIndex As Integer, Value As Variant, Bookmark As Variant)
'Debug.Print "ColIndex: " & ColIndex & " Value: " & Value & " Bookmark: " & Bookmark
Dim v As String
v = Trim(CStr(Value))
If Len(v) = 0 Then Exit Sub
Select Case ColIndex
Case 2
' data attivazione
Value = Funzioni.DataOraToDate(v)
Case 3
' data validità
Value = Funzioni.DataOraToDate(v)
End Select
'Debug.Print "New Value: " & Value
End Sub
Scrivo dal lavoro come promemoria per alcune cose che ho scoperto in questi giorni.
Evento Expand
L’evento Expand di una TDBGrid si scatena solo quando la TDBGrid è di tipo OLE DB.
Filtro con DropDownList
Formattazione testo personalizzata
Se volessi formattare un testo in maniera particolare un testo all’interno di una TDBGrid devo impostare per la colonna desiderata la proprietà NumberFormat e scegliere l’opzione “FormatText Event”.
Nella routine delle evento sarà sufficiente andare ad elaborare la stringa nella maniera desiderata, ad esempio, solo per le colonne che lo richiedono, formatto una data particolare come tipo Date:
Private Sub TDBGrid1_FormatText(ByVal ColIndex As Integer, Value As Variant, Bookmark As Variant)
'Debug.Print "ColIndex: " & ColIndex & " Value: " & Value & " Bookmark: " & Bookmark
Dim v As String
v = Trim(CStr(Value))
If Len(v) = 0 Then Exit Sub
Select Case ColIndex
Case 2
' data attivazione
Value = Funzioni.DataOraToDate(v)
Case 3
' data validità
Value = Funzioni.DataOraToDate(v)
End Select
'Debug.Print "New Value: " & Value
End Sub
Commenti
Posta un commento