Guida Online per Xojo DataGrid
Descrizione
Il componente DataGrid per la piattaforma di sviluppo Xojo Desktop è uno strumento di supporto per visualizzare e gestire i dati in una griglia.
La guida è divisa in queste sezioni:
Proprietà
Metodi
Eventi
Enumerazioni
EnumAlignment
Definisce il tipo di allineamento del contenuto in una cella.
EnumCellType
Definisce il tipo di cella, come verrà visualizzata.
EnumCheckBoxValues
Definisce il tipo di valore che verrà considerato per le celle di tipo CheckBox.
EnumFocusCellBorderType
Definisce il tipo di bordo visualizzato per il focus della cella.
EnumFooterValueType
Definisce il tipo di piè di pagina visualizzato.
Classi
Il componente contiene due classi che specificano le colonne e le righe.
Sono:
Ognuna di queste classi contiene un set di proprietà che ti permetteranno di formattare al meglio le tue colonne e righe.
Descrizioni delle proprietà
AllowMovableColumns As Boolean
Permette di scegliere se le colonne sono spostabili.
AllowResizableColumns As Boolean
Permette di scegliere se le colonne sono ridimensionabili.
AutoHideScrollbars As Boolean
Permette di impostare se le barre di scorrimento sono visibili o meno.
CellBorder As Boolean
Permette di impostare se la cella ha un bordo o meno.
CellPadding As Integer
Permette di impostare lo spazio tra il bordo e il contenuto della cella.
CheckBoxBorderSize As Integer
Permette di impostare la dimensione del bordo della CheckBox.
CheckBoxSize As Integer
Permette di impostare la dimensione della CheckBox.
ColorCellBorder As Color
Permette di impostare il colore del bordo della cella.
ColorCellFocusBorder As Color
Permette di impostare il colore del bordo della cella che ha il focus.
ColorCheckBoxBack As Color
Permette di impostare il colore di sfondo della CheckBox.
ColorCheckBoxBackAlt As Color
Permette di impostare il colore di sfondo della CheckBox nelle righe alternate.
ColorCheckBoxBorder As Color
Permette di impostare il colore del bordo della CheckBox.
ColorCheckBoxBorderAlt As Color
Permette di impostare il colore del bordo della CheckBox nelle righe alternate.
ColorCheckBoxFlag As Color
Permette di impostare il colore del segno di spunta della CheckBox.
ColorCheckBoxFlagAlt As Color
Permette di impostare il colore del segno di spunta della CheckBox nelle righe alternate.
ColorFooterBack As Color
Permette di impostare il colore di sfondo del piè di pagina.
ColorFooterBorder As Color
Permette di impostare il colore del bordo del piè di pagina.
ColorFooterText As Color
Permette di impostare il colore del testo del piè di pagina.
ColorGridBack As Color
Permette di impostare il colore di sfondo della griglia. (oltre le celle)
ColorGridBorder As Color
Permette di impostare il colore del bordo esterno della griglia.
ColorHeaderBack As Color
Permette di impostare il colore di sfondo dell'intestazione.
ColorHeaderBorder As Color
Permette di impostare il colore del bordo dell'intestazione.
ColorHeaderDrag As Color
Permette di impostare il colore del segnaposto di spostamento della colonna.
ColorHeaderSortIcon As Color
Permette di impostare il colore dell'icona di ordinamento.
ColorHeaderText As Color
Permette di impostare il colore del testo dell'intestazione.
ColorLink As Color
Permette di impostare il colore del testo dei link.
ColorLinkAlt As Color
Permette di impostare il colore del testo dei link nelle righe alternate.
ColorLinkSelected As Color
Permette di impostare il colore del testo dei link nelle righe selezionate.
ColorProgressbar As Color
Permette di impostare il colore delle barre di progresso.
ColorProgressbarBorder As Color
Permette di impostare il colore del bordo delle barre di progresso.
ColorRowsBack As Color
Permette di impostare il colore di sfondo della riga.
ColorRowsBackAlt As Color
Permette di impostare il colore di sfondo della riga nelle righe alternate.
ColorRowsBackSelected As Color
Permette di impostare il colore di sfondo della riga nelle righe selezionate.
ColorRowsText As Color
Permette di impostare il colore del testo della riga.
ColorRowsTextAlt As Color
Permette di impostare il colore del testo della riga nelle righe alternate.
ColorRowsTextSelected As Color
Permette di impostare il colore del testo della riga nelle righe selezionate.
ColorScrollbarsBack As Color
Permette di impostare il colore di sfondo delle barre di scorrimento.
ColorScrollbarsBackOver As Color
Permette di impostare il colore di sfondo delle barre di scorrimento quando il mouse è sopra.
ColorScrollbarsBorder As Color
Permette di impostare il colore del bordo delle barre di scorrimento.
ColorScrollbarsRect As Color
Permette di impostare il colore di sfondo del cursore della barra di scorrimento.
ColorScrollbarsRectOver As Color
Permette di impostare il colore di sfondo del cursore della barra di scorrimento quando il mouse è sopra.
ColumnLastSelected As Integer
Restituisce l'ultima colonna selezionata.
ColumnNames As String
È una stringa contenente l'elenco delle didascalie delle colonne separate da virgole.
BaDataGrid1.ColumnNames = "Id,Name,Surname,Address,City,Country,Phone"
Columns() As BaDataGridColumn
È un Array di tipo BaDataGridColumn che rappresenta l'elenco delle colonne caricate nella griglia.
For Each objCol As BaDataGridColumn In BaDataGrid1.Columns
System.DebugLog("Column - Index: " + objCol.Idx.ToString + " - FieldName: " + objCol.FieldName)
Next objCol
ColumnsVisible As Integer
Restituisce il numero di colonne visibili nella griglia.
ColumnViewStart As Integer
Restituisce l'indice della prima colonna visibile nella griglia.
ColumnWidths As String
È una stringa contenente un elenco di larghezze di colonna separate da virgole.
BaDataGrid1.ColumnWidths = "30,100,100,250,120,120,70"
Container As DesktopContainer
Imposta il controllo DesktopContainer se il componente si trova all'interno di un Container. Se il componente si trova direttamente all'interno di una finestra, devi lasciarlo a Nil.
DbKeyFieldName As String
Permette di impostare il nome del campo chiave della tabella.
Questo serve per l'aggiornamento dei dati.
BaDataGrid1.DbKeyFieldName = "AN02_ID"
DbSource As Database
Permette di impostare un oggetto Database che utilizzerai per caricare i dati nella griglia.
Puoi impostare tutti i database compatibili con Xojo, come: SQLite, MySQL, PostgreSQL, MS SQL, ODBC, ecc.
'### SET DATABASE SOURCE ###
If Self.DbSqlLite = Nil Then
self.DbSqlLite = New SQLiteDatabase
End If
self.DbSqlLite.DatabaseFile = GetFolderItem( txtDatabase.text, FolderItem.PathTypeNative)
BaDataGrid1.DbSource = self.DbSqlLite
DbTableName As String
Permette di impostare il nome della tabella.
Questo serve per l'aggiornamento dei dati.
BaDataGrid1.DbTableName = "AN02_CONTACTS"
DefaultFooterHeight As Integer
Permette di impostare l'altezza predefinita del piè di pagina.
DefaultHeaderHeight As Integer
Permette di impostare l'altezza predefinita dell'intestazione.
DefaultRowHeight As Integer
Permette di impostare l'altezza predefinita della riga.
EditingEnable As Boolean
Permette di impostare se la griglia è modificabile o meno. Il valore predefinito è False (non modificabile).
Se imposti il valore su True, indicherai che l'intera griglia è modificabile. In questo caso dovrai poi definire per ogni colonna quale non vuoi che sia modificabile.
Le proprietà DbTableName e DbKeyFieldName permettono alla griglia di aggiornare la tabella e il record corretti.
FocusCellBorder As Boolean
Permette di impostare se la cella selezionata deve avere il bordo di focus.
FocusCellBorderType As EnumFocusCellBorderType
Permette di impostare il tipo di bordo di focus della cella selezionata.
FontBold As Boolean
Permette di impostare se il carattere della griglia deve essere in grassetto.
Questo parametro verrà sovrascritto dalla stessa proprietà della colonna (se impostata).
FontItalic As Boolean
Permette di impostare se il carattere della griglia deve essere in corsivo.
Questo parametro verrà sovrascritto dalla stessa proprietà della colonna (se impostata).
FontName As String
Permette di impostare il nome del carattere della griglia.
Questo parametro verrà sovrascritto dalla stessa proprietà della colonna (se impostata).
FontSize As Integer
Permette di impostare la dimensione del carattere della griglia.
Questo parametro verrà sovrascritto dalla stessa proprietà della colonna (se impostata).
FontUnderline As Boolean
Permette di impostare se il carattere della griglia deve essere sottolineato.
Questo parametro verrà sovrascritto dalla stessa proprietà della colonna (se impostata).
GridBackground As Boolean
Permette di impostare se la griglia ha uno sfondo.
Se impostato su True, la proprietà ColorGridBack verrà utilizzata per colorare lo sfondo.
GridBorder As Boolean
Permette di impostare se la griglia ha un bordo.
Se impostato su True, la proprietà ColorGridBorder verrà utilizzata per colorare il bordo, e GridBorderSize per la larghezza del bordo.
GridBorderSize As Integer
Permette di impostare la larghezza del bordo.
HasFooter As Boolean
Permette di impostare se il piè di pagina è visibile.
Se impostato su True, il piè di pagina apparirà in fondo alla griglia.
LicenseCode As String
Permette di impostare il codice di licenza.
È necessario impostare il codice di licenza e l'email di licenza nell'evento Opening().
BaDataGrid1.LicenseEmail = "your-email@your-domain.com"
BaDataGrid1.LicenseCode = "your-license-code"
LicenseEmail As String
Permette di impostare l'email di licenza.
È necessario impostare il codice di licenza e l'email di licenza nell'evento Opening().
BaDataGrid1.LicenseEmail = "your-email@your-domain.com"
BaDataGrid1.LicenseCode = "your-license-code"
LinkFontBold As Boolean
Permette di impostare se il carattere del link deve essere in grassetto.
Questo parametro verrà sovrascritto dalla stessa proprietà della colonna (se impostata).
LinkFontItalic As Boolean
Permette di impostare se il carattere del link deve essere in corsivo.
Questo parametro verrà sovrascritto dalla stessa proprietà della colonna (se impostata).
LinkFontName As String
Permette di impostare il nome del carattere del link.
Questo parametro verrà sovrascritto dalla stessa proprietà della colonna (se impostata).
LinkFontSize As Integer
Permette di impostare la dimensione del carattere del link.
Questo parametro verrà sovrascritto dalla stessa proprietà della colonna (se impostata).
LinkFontUnderline As Boolean
Permette di impostare se il carattere del link deve essere sottolineato.
Questo parametro verrà sovrascritto dalla stessa proprietà della colonna (se impostata).
MinimumColumnResizing As Integer
Permette di impostare il valore minimo della larghezza della colonna durante il ridimensionamento delle colonne.
MouseWheelHorizontalEnabled As Boolean
Permette di abilitare o disabilitare lo scorrimento orizzontale della griglia con la rotellina del mouse o il trackpad.
MouseWheelVerticalEnabled As Boolean
Permette di abilitare o disabilitare lo scorrimento verticale della griglia con la rotellina del mouse o il trackpad.
ReleaseDate As DateTime
Restituisce la data di rilascio di questo componente.
ReleaseVersion As String
Restituisce la versione di rilascio di questo componente.
RowLastSelected As Integer
Restituisce l'ultima riga selezionata.
Rows() As BaDataGridRow
È un Array di tipo BaDataGridRow che rappresenta l'elenco delle righe caricate nella griglia.
RowsBackground As Boolean
Permette di impostare se le righe hanno uno sfondo.
Se impostato su True, le proprietà ColorRowsBack, ColorRowsBackAlt e ColorRowsBackSelected verranno utilizzate per colorare lo sfondo.
RowViewEnd As Integer
Restituisce l'ultima riga visibile nella griglia.
RowViewStart As Integer
Restituisce la prima riga visibile nella griglia.
ScrollbarsBorder As Boolean
Permette di impostare se le barre di scorrimento hanno un bordo o meno.
ScrollbarsPadding As Integer
Permette di impostare lo spazio tra il bordo e il cursore della barra di scorrimento.
La dimensione totale delle barre di scorrimento è ScrollbarsSize + ScrollbarsPadding.
ScrollbarsRounded As Integer
Permette di impostare la rotondità del cursore della barra di scorrimento.
ScrollbarsSize As Integer
Permette di impostare lo spessore del cursore della barra di scorrimento.
La dimensione totale delle barre di scorrimento è ScrollbarsSize + ScrollbarsPadding.
TimeSelectEnd As DateTime
Restituisce l'ora di fine dell'esecuzione del metodo SelectSQL
TimeSelectStart As DateTime
Restituisce l'ora di inizio dell'esecuzione del metodo SelectSQL
Descrizioni dei metodi
AutoDarkLightMode ()
Per cambiare automaticamente tutti i colori della griglia con il colore del tema del sistema operativo.
È possibile chiamare questo metodo nell'evento Opening della finestra.
'On "Opening" Event
BaDataGrid1.AutoDarkLightMode
DeleteAllRowsSelected (boolDelRowsFromDatabase as Boolean = True)
Elimina tutte le righe selezionate. Puoi scegliere se eliminare solo nella vista o anche nel database dal parametro boolDelRowsFromDatabase.
Var d As New MessageDialog
Var b As MessageDialogButton
d.IconType = MessageDialog.IconTypes.Question
d.ActionButton.Caption = "Ok"
d.CancelButton.Visible = True
d.CancelButton.Caption = "Cancel"
d.Message = "Vuoi eliminare tutte le righe selezionate?"
d.Explanation = "Stai per eliminare tutte le righe selezionate solo dalla vista della griglia."
b = d.ShowModal
Select Case b
Case d.ActionButton
BaDataGrid1.DeleteAllRowsSelected(False)
Case d.AlternateActionButton
Case d.CancelButton
End Select
DeleteRowSelected (boolDelRowFromDatabase as Boolean = True)
Elimina la riga selezionata. Puoi scegliere se eliminare solo nella vista o anche nel database dal parametro boolDelRowFromDatabase.
Var d As New MessageDialog
Var b As MessageDialogButton
d.IconType = MessageDialog.IconTypes.Question
d.ActionButton.Caption = "Ok"
d.CancelButton.Visible = True
d.CancelButton.Caption = "Cancel"
d.Message = "Vuoi eliminare la riga selezionata?"
d.Explanation = "Stai per eliminare la riga selezionata solo dalla vista della griglia."
b = d.ShowModal
Select Case b
Case d.ActionButton
BaDataGrid1.DeleteRowSelected(False)
Case d.AlternateActionButton
Case d.CancelButton
End Select
GetColumnFromField (strFieldName As String) As BaDataGridColumn
Ottiene l'oggetto colonna dal nome del campo.
Var objCol As BaDataGridColumn
objCol = BaDataGrid1.GetColumnFromField("AN02_EMAIL")
System.DebugLog("Column - Index: " + objCol.Idx.ToString + " - FieldName: " + objCol.FieldName)
GetColumnFromXY (x as Integer, y as Integer) As BaDataGridColumn
Ottiene l'oggetto colonna dalla posizione X e Y del mouse.
Var objCol As BaDataGridColumn
objCol = BaDataGrid1.GetColumnFromXY(300, 100)
System.DebugLog("Column - Index: " + objCol.Idx.ToString + " - FieldName: " + objCol.FieldName)
GetLayout () As String
Ottiene il layout corrente in una stringa Json.
Var strJson As String
strJson = BaDataGrid1.GetLayout()
System.DebugLog("strJson: " + strJson)
GetRowFromXY (x as Integer, y as Integer) As BaDataGridRow
Ottiene l'oggetto riga dalla posizione X e Y del mouse.
Var objRow As BaDataGridRow
objRow = BaDataGrid1.GetRowFromXY(100, 300)
System.DebugLog("Row - Index: " + objRow.Idx.ToString + " - Db.Id: " + objRow.DbRow.Column("AN02_ID").StringValue)
RowAdd (objJsonData as JSONItem)
Aggiunge un record nel database passando un JSON.
Var strJson As String = ""
strJson = strJson + "{" + EndOfLine
strJson = strJson + " ""FIELD01"": ""Value 01""," + EndOfLine
strJson = strJson + " ""FIELD02"": 0," + EndOfLine
strJson = strJson + " ""FIELD03"": true," + EndOfLine
strJson = strJson + " ""FIELD04"": 1.99" + EndOfLine
strJson = strJson + "}" + EndOfLine
Var objJson As New JSONItem(strJson)
BaDataGrid1.RowAdd(objJson)
RowAdd (vFieldKeyValue as Variant)
Aggiunge un record nel database passando il valore del campo chiave.
Var varValue As Variant = "VALUE01"
BaDataGrid1.RowAdd(varValue)
RowAddSelect (idxRow as Integer)
Aggiunge una riga alle righe selezionate dall'indice.
objRow = BaDataGrid1.RowAddSelect(6)
RowsDeselectAll ()
Deseleziona tutte le righe.
objRow = BaDataGrid1.RowsDeselectAll()
RowSelect (idxRow as Integer)
Seleziona una riga dall'indice.
objRow = BaDataGrid1.RowSelect(8)
RowsSelectAll ()
Seleziona tutte le righe.
objRow = BaDataGrid1.RowsSelectAll()
RowUpdate (objRow as BaDataGridRow, objCol as BaDataGridColumn, strFieldName as string, varFieldValue as Variant, strNumberFormat as string = "-0.000")
Aggiorna un record nel database tramite codice.
Usa il parametro strNumberFormat solo se il campo è numerico.
BaDataGrid1.RowUpdate(objRow, objCol, "AN01_NAME", "Robert")
BaDataGrid1.RowUpdate(objRow, objCol, "AN01_FINALPRICE", 99.55, "-0.00")
SelectSQL (strSql as String)
Esegue una stringa di query dove il comando SQL è il parametro strSql.
'### IMPOSTA QUERY SQL ###
Var StrSQL As String = ""
StrSQL = StrSQL + "select " + EndOfLine
StrSQL = StrSQL + "AN02_ID, AN02_SEL, AN02_COLOR, AN02_EMAIL, AN02_PROGRESS, AN02_SURNAME, AN02_NAME" + EndOfLine
StrSQL = StrSQL + ", AN02_BIRTHDAY, AN02_INDGENDER, AN02_URL" + EndOfLine
StrSQL = StrSQL + "from AN02_CONTACTS" + EndOfLine
StrSQL = StrSQL + "order by AN02_ID asc" + EndOfLine
'### IMPOSTA LARGHEZZA COLONNE ###
Var sColWidth As String = ""
sColWidth = sColWidth + "50," 'AN02_ID
sColWidth = sColWidth + "40," 'AN02_SEL
sColWidth = sColWidth + "50," 'AN02_COLOR
sColWidth = sColWidth + "200," 'AN02_EMAIL
sColWidth = sColWidth + "120," 'AN02_PROGRESS
sColWidth = sColWidth + "150," 'AN02_SURNAME
sColWidth = sColWidth + "150," 'AN02_NAME
sColWidth = sColWidth + "100," 'AN02_BIRTHDAY
sColWidth = sColWidth + "100," 'AN02_INDGENDER
sColWidth = sColWidth + "200," 'AN02_URL
BaDataGrid1.ColumnWidths = sColWidth
'### IMPOSTA TITOLI COLONNE ###
Var sColNames As String = ""
sColNames = sColNames + "Id,"
sColNames = sColNames + "Sel.,"
sColNames = sColNames + "Color,"
sColNames = sColNames + "Email,"
sColNames = sColNames + "Progress,"
sColNames = sColNames + "Surname,"
sColNames = sColNames + "Name,"
sColNames = sColNames + "Birthday,"
sColNames = sColNames + "Gender,"
sColNames = sColNames + "Url,"
BaDataGrid1.ColumnNames = sColNames
'### SET TABLE NAME (for data Update) ###
BaDataGrid1.DbTableName = "AN02_CONTATTI"
'### SET KEY FIELD NAME (for data Update) ###
BaDataGrid1.DbKeyFieldName = "AN02_ID"
'### EXECUTE SQL QUERY ###
BaDataGrid1.SelectSQL(StrSQL)
SetLayout (strJson as String, boolSort as Boolean = False)
Imposta il layout corrente da una stringa Json.
Var strJson As String
strJson = LoadFromFile()
BaDataGrid1.SetLayout(strJson)
ShowGrid ()
Mostra la griglia dati con i dati risultanti.
objRow = BaDataGrid1.ShowGrid()
ShowSettings ()
Mostra la griglia delle impostazioni, con colonne e proprietà relative ai dati.
objRow = BaDataGrid1.ShowSettings()
Sort (objCol As BaDataGridColumn, bAddColumnSorting As Boolean = False)
Ordina i dati risultanti con l'oggetto colonna. Puoi scegliere se ordinare per colonna o se aggiungere la colonna alle ultime colonne ordinate.
'to set first ordered column
Var objCol As BaDataGridColumn = BaDataGrid1.Columns(5)
objCol.Sorted = True
objCol.SortedAscending = True
BaDataGrid1.Sort(objCol)
'to add second ordered column
Var objCol2 As BaDataGridColumn = BaDataGrid1.Columns(3)
objCol2.Sorted = True
objCol2.SortedAscending = False
BaDataGrid1.Sort(objCol2, True) 'pass True as the second parameter
Descrizioni degli eventi
CellClick (x As Integer, y As Integer, objRow As BaDataGridRow, objCol As BaDataGridColumn) As Boolean
Questo evento si attiva quando si fa clic con il mouse in una cella della griglia.
La posizione X del cursore del mouse.
La posizione Y del cursore del mouse.
Il parametro objRow restituisce l'oggetto riga (BaDataGridRow).
Il parametro objCol restituisce l'oggetto colonna (BaDataGridColumn).
CellDoubleClick (x As Integer, y As Integer, objRow As BaDataGridRow, objCol As BaDataGridColumn) As Boolean
Questo evento si attiva quando si fa doppio clic con il mouse in una cella della griglia.
La posizione X del cursore del mouse.
La posizione Y del cursore del mouse.
Il parametro objRow restituisce l'oggetto riga (BaDataGridRow).
Il parametro objCol restituisce l'oggetto colonna (BaDataGridColumn).
CellValueChanged (varOldVal as Variant, varNewVal as Variant, objCol As BaDataGridColumn, objRow As BaDataGridRow) As Boolean
Questo evento si attiva quando il valore di una cella cambia.
Il parametro varOldVal rappresenta il valore precedente della cella.
Il parametro varNewVal rappresenta il nuovo valore della cella.
Il parametro objCol restituisce l'oggetto colonna (BaDataGridColumn).
Il parametro objRow restituisce l'oggetto riga (BaDataGridRow).
Se restituisci True, l'operazione viene annullata.
System.DebugLog CurrentMethodName _
+ " - OldVal: " + varOldVal.StringValue _
+ " - NewVal: " + varNewVal.StringValue _
+ " - FieldName: " + objCol.FieldName
'If you return True the operation is canceled
'Return True
DarkLightModeChanged ()
Questo evento si attiva dopo la chiamata al metodo AutoDarkLightMode, dopo aver cambiato tutti i colori.
'All'interno dell'evento, cioè dopo che tutti i colori sono stati cambiati, puoi scegliere se cambiare qualcos'altro.
BaDataGrid1.ColorLink = &cFF000000
BaDataGrid1.ColorProgressbar = &c0096FF00
DatabaseDeleteAllRowsError (strFieldKeyName as String, strIdxsList as String, objRowsToDelete() As BaDataGridRow, intError As Integer, strError As String, strQueryDelete as String)
Questo evento si attiva dopo il metodo DeleteAllRowsSelected() quando si verifica un errore.
Il parametro strFieldKeyName restituisce il nome del campo chiave.
Il parametro strIdxsList restituisce l'elenco separato da virgole degli indici delle righe che ha tentato di eliminare.
Il parametro objRowsToDelete() restituisce un Array di oggetti riga (BaDataGridRow) che ha tentato di eliminare.
intError restituisce il valore intero dell'errore.
strError restituisce il valore stringa dell'errore.
strQueryDelete restituisce il comando SQL utilizzato.
System.DebugLog CurrentMethodName _
+ " - strFieldKeyName: " + strFieldKeyName _
+ " - sIdxsList: " + strIdxsList _
+ " - Error: " + intError.ToString + " - " + strError
System.DebugLog "strQueryDelete:"
System.DebugLog strQueryDelete
DatabaseDeleteRowError (strFieldKeyName as String, varFieldKeyValue as Variant, objRowToDelete As BaDataGridRow, intError As Integer, strError As String, strQueryDelete as String)
Questo evento si attiva dopo il metodo DeleteRowSelected() quando si verifica un errore.
Il parametro strFieldKeyName restituisce il nome del campo chiave utilizzato.
Il parametro varFieldKeyValue restituisce il valore del campo chiave utilizzato.
Il parametro objRowToDelete restituisce una riga (BaDataGridRow) che ha tentato di eliminare.
intError restituisce il valore intero dell'errore.
strError restituisce il valore stringa dell'errore.
strQueryDelete restituisce il comando SQL utilizzato.
System.DebugLog CurrentMethodName _
+ " - strFieldKeyName: " + strFieldKeyName _
+ " - varFieldKeyValue: " + varFieldKeyValue.StringValue _
+ " - ID RowToDelete: " + objRowToDelete.DbRow.ColumnAt(0).StringValue _
+ " - Error: " + intError.ToString + " - " + strError
System.DebugLog "strQueryDelete:"
System.DebugLog strQueryDelete
DatabaseInserted ()
Questo evento si attiva quando un record viene inserito.
Tipicamente in questo evento viene utilizzato il codice per andare alla fine della griglia.
BaDataGrid1.RowSelectLastRecord()
DatabaseInsertedError (intError as Integer, strError as String, strQueryInsert as String)
Questo evento si attiva quando si tenta di inserire un record nel database ma si verifica un errore.
intError restituisce il valore intero dell'errore.
strError restituisce il valore stringa dell'errore.
strQueryInsert restituisce il comando SQL utilizzato.
System.DebugLog CurrentMethodName _
+ " - Error: " + intError.ToString + " - " + strError
System.DebugLog strQueryInsert
DatabaseUpdated (strFieldKeyName as String, varFieldKeyValue as Variant, objCol as BaDataGridColumn, objRow as BaDataGridRow, varNewValue as Variant)
Questo evento si attiva quando il database viene aggiornato.
Il parametro strFieldKeyName restituisce il nome del campo chiave aggiornato.
Il parametro varFieldKeyValue restituisce il valore del campo chiave aggiornato.
Il parametro objCol restituisce la colonna corrente (BaDataGridColumn) aggiornata.
Il parametro objRow restituisce la riga corrente (BaDataGridRow) aggiornata.
varNewValue restituisce il nuovo valore Variant.
System.DebugLog CurrentMethodName _
+ " - strFieldKeyName: " + strFieldKeyName _
+ " - varFieldKeyValue: " + varFieldKeyValue.StringValue _
+ " - varNewValue: " + varNewValue.StringValue.StringValue _
+ " - objCol.FieldName: " + objCol.FieldName
DatabaseUpdateError (strFieldKeyName as String, varFieldKeyValue as Variant, objCol as BaDataGridColumn, objRow as BaDataGridRow, intError as Integer, strError as String, strQueryUpdate as String)
Questo evento si attiva quando si tenta di aggiornare il database ma si verifica un errore.
Il parametro strFieldKeyName restituisce il nome del campo chiave utilizzato.
Il parametro varFieldKeyValue restituisce il valore del campo chiave utilizzato.
Il parametro objCol restituisce la colonna (BaDataGridColumn) utilizzata.
Il parametro objRow restituisce la riga (BaDataGridRow) utilizzata.
intError restituisce il valore intero dell'errore.
strError restituisce il valore stringa dell'errore.
strQueryUpdate restituisce il comando SQL utilizzato.
System.DebugLog CurrentMethodName _
+ " - strFieldKeyName: " + strFieldKeyName _
+ " - varFieldKeyValue: " + varFieldKeyValue.StringValue _
+ " - Error: " + intError.ToString + " - " + strError
System.DebugLog strQueryUpdate
FooterCellBackgroundPaint (picFooter as Picture, objCol as BaDataGridColumn) As Boolean
Questo evento si attiva prima che una cella del piè di pagina venga ridisegnata. (ridisegna sfondo)
Il parametro picFooter restituisce l'oggetto grafico su cui disegnare.
Il parametro objCol restituisce la colonna corrente (BaDataGridColumn).
Se restituisci True, l'oggetto picFooter si sovrapporrà alla cella dell'intestazione.
Se restituisci False (o non usi l'evento), non verrà ridisegnato.
If objCol.FieldName = "AN02_NAME" Then
picFooter.Graphics.DrawingColor = &cFF930000
picFooter.Graphics.FillRectangle (picFooter.Graphics.Width/2), 5, 15, 15
picFooter.Graphics.DrawingColor = &cFEFEFE00
picFooter.Graphics.DrawLine (picFooter.Graphics.Width/2), 5, (picFooter.Graphics.Width/2)+15, 20
Return True
End If
FooterCellPaint (picFooter as Picture, objCol as BaDataGridColumn) As Boolean
Questo evento si attiva dopo che una cella dell'intestazione è stata ridisegnata. (ridisegna sopra)
Il parametro picFooter restituisce l'oggetto grafico su cui disegnare.
Il parametro objCol restituisce la colonna corrente (BaDataGridColumn).
Se restituisci True, l'oggetto picFooter si sovrapporrà alla cella dell'intestazione.
Se restituisci False (o non usi l'evento), non verrà ridisegnato.
If objCol.FieldName = "AN02_NAME" Then
picFooter.Graphics.DrawingColor = &cFF930000
picFooter.Graphics.FillRectangle (picFooter.Graphics.Width/2), 5, 15, 15
picFooter.Graphics.DrawingColor = &cFEFEFE00
picFooter.Graphics.DrawLine (picFooter.Graphics.Width/2), 5, (picFooter.Graphics.Width/2)+15, 20
Return True
End If
GenericError (strMethodName as String, intErrorNumber as Integer, strErrorMessage as String)
Questo evento si attiva quando viene generato un errore generico non gestito.
Il parametro strMethodName restituisce il nome del campo chiave utilizzato.
intErrorNumber restituisce il valore intero dell'errore.
strErrorMessage restituisce il valore stringa dell'errore.
System.DebugLog CurrentMethodName _
+ " - strMethodName: " + strMethodName _
+ " - Error: " + intErrorNumber.ToString + " - " + strErrorMessage
HeaderCellBackgroundPaint (picHeader as Picture, objCol as BaDataGridColumn) As Boolean
Questo evento si attiva prima che una cella dell'intestazione venga ridisegnata. (ridisegna sfondo)
Il parametro picHeader restituisce l'oggetto grafico su cui disegnare.
Il parametro objCol restituisce la colonna corrente (BaDataGridColumn).
Se restituisci True, l'oggetto picHeader si sovrapporrà alla cella dell'intestazione.
Se restituisci False (o non usi l'evento), non verrà ridisegnato.
If objCol.FieldName = "AN02_NAME" Then
picHeader.Graphics.DrawingColor = &cFF930000
picHeader.Graphics.FillRectangle (picHeader.Graphics.Width/2), 5, 15, 15
picHeader.Graphics.DrawingColor = &cFEFEFE00
picHeader.Graphics.DrawLine (picHeader.Graphics.Width/2), 5, (picHeader.Graphics.Width/2)+15, 20
Return True
End If
HeaderCellPaint (picHeader as Picture, objCol as BaDataGridColumn) As Boolean
Questo evento si attiva dopo che una cella dell'intestazione è stata ridisegnata. (ridisegna sopra)
Il parametro picHeader restituisce l'oggetto grafico su cui disegnare.
Il parametro objCol restituisce la colonna corrente (BaDataGridColumn).
Se restituisci True, l'oggetto picHeader si sovrapporrà alla cella dell'intestazione.
Se restituisci False (o non usi l'evento), non verrà ridisegnato.
If objCol.FieldName = "AN02_NAME" Then
picHeader.Graphics.DrawingColor = &cFF930000
picHeader.Graphics.FillRectangle (picHeader.Graphics.Width/2), 5, 15, 15
picHeader.Graphics.DrawingColor = &cFEFEFE00
picHeader.Graphics.DrawLine (picHeader.Graphics.Width/2), 5, (picHeader.Graphics.Width/2)+15, 20
Return True
End If
LinkCalled (strUrl as String, objCol as BaDataGridColumn, objRow as BaDataGridRow) As Boolean
Questo evento si attiva quando si fa clic su una cella di tipo link.
Il parametro strUrl restituisce il valore della cella.
Il parametro objCol restituisce l'oggetto colonna (BaDataGridColumn).
Il parametro objRow restituisce l'oggetto riga (BaDataGridRow).
Select Case objCol.FieldName
Case "AN02_URL"
ShowURL(strUrl)
Case "AN02_EMAIL"
ShowURL("mailto:" + strUrl)
End Select
'If you want break selection return true value
Return True
MouseDown (x as Integer, y as Integer)
Questo evento si attiva mentre il pulsante del mouse è tenuto premuto.
I parametri x e y rappresentano la posizione del cursore.
MouseEnter ()
Il mouse è entrato nell'area del controllo.
MouseExit ()
Il mouse ha lasciato l'area del controllo.
MouseMove (x as Integer, y as Integer)
Il mouse si è spostato all'interno del controllo.
I parametri x e y rappresentano la posizione del cursore.
MouseUp (x as Integer, y as Integer)
Il pulsante del mouse è stato rilasciato.
I parametri x e y rappresentano la posizione del cursore.
Opening ()
Il controllo sta per essere visualizzato. Utilizzare questo evento per inizializzare un controllo.
L'evento Opening viene chiamato dopo il Costruttore.
È necessario impostare il codice di licenza e l'email di licenza nell'evento Opening().
BaDataGrid1.LicenseEmail = "your-email@your-domain.com"
BaDataGrid1.LicenseCode = "your-license-code"
QueryExecuted strQuerySql as String
Questo evento si attiva dopo il metodo SelectSQL().
Il parametro strQuerySql restituisce la stringa SQL utilizzata.
RowDeleted (idxRowDeleted as Integer, objRowDeleted as BaDataGridRow, boolDelRowFromDatabase as Boolean)
Questo evento si attiva dopo il metodo DeleteRowSelected().
Il parametro idxRowDeleted restituisce l'indice della riga eliminata.
Il parametro objRowDeleted restituisce l'oggetto (BaDataGridRow) della riga eliminata.
Il parametro boolDelRowFromDatabase restituisce se la riga è stata scelta per essere eliminata anche dal database.
System.DebugLog CurrentMethodName _
+ " - idxRowDeleted: " + idxRowDeleted.ToString _
+ " - ID: " + objRowDeleted.DbRow.ColumnAt(0).StringValue
RowsCellBackgroundPaint (picCell as Picture, objCol as BaDataGridColumn, objRow as BaDataGridRow) As Boolean
Questo evento si attiva prima che una cella della griglia venga ridisegnata. (ridisegna sfondo)
Il parametro picCell restituisce l'oggetto grafico su cui disegnare.
Il parametro objCol restituisce la colonna corrente (BaDataGridColumn).
Il parametro objRow restituisce la riga corrente (BaDataGridRow).
Se restituisci True, l'oggetto picCell si sovrapporrà alla cella della griglia.
Se restituisci False (o non usi l'evento), non verrà ridisegnato.
If objCol.FieldName = "AN02_SURNAME" Then
picCell.Graphics.DrawingColor = &c99FF0000
picCell.Graphics.DrawOval picCell.Graphics.Width-24, 3, 20, 20
Return True
End If
RowsCellPaint (picCell as Picture, objCol as BaDataGridColumn, objRow as BaDataGridRow) As Boolean
Questo evento si attiva dopo che una cella della griglia è stata ridisegnata. (ridisegna sopra)
Il parametro picCell restituisce l'oggetto grafico su cui disegnare.
Il parametro objCol restituisce la colonna corrente (BaDataGridColumn).
Il parametro objRow restituisce la riga corrente (BaDataGridRow).
Se restituisci True, l'oggetto picCell si sovrapporrà alla cella della griglia.
Se restituisci False (o non usi l'evento), non verrà ridisegnato.
If objCol.FieldName = "AN02_SURNAME" Then
picCell.Graphics.DrawingColor = &c99FF0000
picCell.Graphics.DrawOval picCell.Graphics.Width-24, 3, 20, 20
Return True
End If
RowsDeleted (idxsRowsDeleted as String, objRowsDeleted() as BaDataGridRow, boolDelRowFromDatabase as Boolean)
Questo evento si attiva dopo il metodo DeleteAllRowsSelected().
Il parametro idxsRowsDeleted restituisce una stringa separata da virgole degli indici che ha tentato di eliminare.
Il parametro objRowsDeleted() restituisce un Array di oggetti riga (BaDataGridRow) che ha tentato di eliminare.
Il parametro boolDelRowFromDatabase restituisce se le righe sono state scelte per essere eliminate anche dal database.
RowSelected (idxRowSelected as Integer, objRowSelected as BaDataGridRow)
Questo evento si attiva quando una riga nella griglia viene selezionata.
Il parametro idxRowSelected restituisce l'indice della riga selezionata.
Il parametro objRowSelected restituisce gli oggetti della riga (BaDataGridRow) della riga selezionata.
SettingsChanged ()
Questo evento si attiva quando le impostazioni della griglia vengono modificate.
StartDrag (x As Integer, y As Integer, objRowsDragged() As BaDataGridRow)
Questo evento si attiva quando inizia il trascinamento.
I parametri x e y restituiscono la posizione del cursore.
Il parametro objRowsDragged() restituisce un Array di oggetti riga selezionati (BaDataGridRow).
In questo esempio usiamo la variabile LastRowsDragged per salvare le righe trascinate. In questo modo, in seguito, possiamo rilasciarle in un altro controllo.
System.DebugLog CurrentMethodName
'Creates a picture to show while dragging
Var mImage As New Picture(150, 30)
mImage.Graphics.DrawingColor = &cFCFCFC00
mImage.Graphics.FillRoundRectangle 0, 0, mImage.Width, mImage.Height, 6, 6
mImage.Graphics.DrawingColor = &c33333300
mImage.Graphics.DrawRoundRectangle 0, 0, mImage.Width, mImage.Height, 6, 6
mImage.Graphics.DrawText "Total drag rows: " + objRowsDragged.Count.ToString, 10, 20
'Create DragItem object
Var d As New DragItem(Me, x+20, y+20, mImage.Width, mImage.Height)
d.Picture = mImage
d.DragPicture = mImage
Self.LastRowsDragged = objRowsDragged
'Activate dragging
d.Drag
BaDataGridColumn Class
La classe BaDataGridColumn gestisce le proprietà di ogni colonna.
Var objCol As BaDataGridColumn = BaDataGrid1.Columns(0)
System.DebugLog objCol.FieldName
Immediatamente dopo aver chiamato il metodo BaDataGrid1.SelectSQL(), tutte le colonne erediteranno le proprietà dalla griglia. Quindi, se vuoi personalizzare alcune colonne, dovrai farlo dopo aver chiamato il metodo SelectSQL.
'### EXECUTE SQL QUERY ###
BaDataGrid1.SelectSQL(StrSQL)
'### AFTER QUERY can sets Columns property ###
BaDataGrid1.EditingEnable = True
BaDataGrid1.CheckBoxSize = 15
'AN02_ID - 0
BaDataGrid1.Columns(0).Type = BaDataGrid.EnumCellType.Number
BaDataGrid1.Columns(0).Alignment = BaDataGrid.EnumAlignment.RightMiddle
BaDataGrid1.Columns(0).TextMaxLength = 18
BaDataGrid1.Columns(0).EditingEnable = False
'AN02_SEL - 1
BaDataGrid1.Columns(1).Type = BaDataGrid.EnumCellType.CheckBox
BaDataGrid1.Columns(1).CheckBoxValues = BaDataGrid.EnumCheckBoxValues.TrueFalse
BaDataGrid1.Columns(1).Alignment = BaDataGrid.EnumAlignment.CenterMiddle
'AN02_COLOR - 2
BaDataGrid1.Columns(2).Type = BaDataGrid.EnumCellType.Color
BaDataGrid1.Columns(2).TextMaxLength = 10
'AN02_EMAIL - 3
BaDataGrid1.Columns(3).TextMaxLength = 255
BaDataGrid1.Columns(3).Type = BaDataGrid.EnumCellType.Link
'AN02_PROGRESS - 4
BaDataGrid1.Columns(4).Type = BaDataGrid.EnumCellType.ProgressBar
BaDataGrid1.Columns(4).ProgressValueMax = 310.55
BaDataGrid1.Columns(4).ProgressValueMin = 120.99
'AN02_SURNAME - 5
BaDataGrid1.Columns(5).TextMaxLength = 50
'AN02_NAME - 6
BaDataGrid1.Columns(6).TextMaxLength = 50
'AN02_BIRTHDAY - 7
BaDataGrid1.Columns(7).Type = BaDataGrid.EnumCellType.Date
BaDataGrid1.Columns(7).DateFormat = "dd/MM/YYYY"
BaDataGrid1.Columns(7).Alignment = BaDataGrid.EnumAlignment.CenterMiddle
'AN02_INDGENDER - 8
BaDataGrid1.Columns(8).Type = BaDataGrid.EnumCellType.List
BaDataGrid1.Columns(8).ListValues.Add "" '0
BaDataGrid1.Columns(8).ListValues.Add "Man" '1
BaDataGrid1.Columns(8).ListValues.Add "Woman" '2
'AN02_URL - 9
BaDataGrid1.Columns(9).TextMaxLength = 255
BaDataGrid1.Columns(9).Type = BaDataGrid.EnumCellType.Link
'### REDRAW GRID ###
BaDataGrid1.Refresh
BaDataGridColumn Properties
BaDataGridRow Class
La classe BaDataGridRow gestisce le proprietà di ogni riga.
Var objRow As BaDataGridRow = BaDataGrid1.Rows(0)
System.DebugLog objRow.Idx.ToString
Immediatamente dopo aver chiamato il metodo BaDataGrid1.SelectSQL(), tutte le righe erediteranno le proprietà dalla griglia. Quindi, se vuoi personalizzare alcune righe, dovrai farlo dopo aver chiamato il metodo SelectSQL.
La proprietà DbRow è di tipo DatabaseRow. Questo ti permetterà di interagire con i dati della riga del database.