These are the main grid properties that you can set or read:
Property | Description |
---|---|
GridView.Header | The property determines whether a header line is displayed or not (0=None) or in which orientation it is displayed: 3=Both, 1=Horizontal or 2=Vertical |
Table: 17.7.2.1 Description Grid property .Header.
The properties can apply to all columns or only to selected columns:
Property | Read/Write | Description |
---|---|---|
GridView.Columns.Count | RW | Number of columns in the GridView |
GridView.Columns.Width | RW | Width of all columns in pixels |
GridView.Columns[k].Width | RW | Width of column k in pixels |
GridView.Columns.Resizable | RW | Resizable specifies with the value TRUE or FALSE whether all columns in the width can be changed or not and must be set before all other properties. |
GridView.Columns[k].Resizable | RW | Resizable specifies with the value TRUE or FALSE whether the column width of column k can be changed or not and must be set after GridView.Columns.Count. |
GridView.Columns.Height | R | The height of the header line in pixels is read |
Table: 17.7.2.2 Description of selected grid properties - columns
The same applies to the rows in the GridView:
Property | Read/Write | Description |
---|---|---|
GridView.Rows.Count | RW | Number of grid rows. If the number is 0, no data grid is displayed. |
GridView.Rows.Width | R | Height of the column header in pixels. |
GridView.Rows[k].Height | RW | Height of line k. |
GridView.Rows.Resizable | RW | Resizable specifies with the value TRUE or FALSE whether the row height can be changed or not. |
GridView.Rows.Height | RW | Height of all data rows in pixels. |
Table: 17.7.2.3 Description of selected grid properties - rows
The description of further properties of the GridView follows:
Property | Read/Write | Description |
---|---|---|
GridView.Column | RW | Sets or reads the current column |
GridView.Row | RW | Sets or reads the current line |
GridView.current | R | Returns the properties of a cell; type GridViewCell: Alignment, BackColor, Background, Font, ForeColor, Foreground, Height, Left, Padding, Picture, RichText, Text, Top, Width, X, Y |
GridView.Grid | W | The values TRUE or FALSE determine whether grid lines are drawn or not. |
GridView.Mode | RW | The selection mode for rows has 3 modes: Select.None, Select.Single and Select.Multiple. Only in the Select.Single and Select.Multiple modes are the selected rows highlighted in color, otherwise, for example, the column header in bold. |
GridView[z,s].Text | W | Text in the cell[row,column] |
GridView[z,s].Alignment | RW | Text alignment in the cell[z,s] with 13 different values. Compare with the information in chapter 20.7 on the Align class. |
GridView[z,s].Picture | W | You can also insert multimedia objects - for example an image - into a cell with Picture[“image.png”]. |
GridView.Data | RW | The virtual class is only valid in connection with the GridView.Data event and has the following properties - Alignment, BackColor, Background, Font, ForeColor, Foreground, Padding, Picture, RichText and Text for the grid content. |
Table: 17.7.2.4 Description of selected grid properties
These two methods are of particular interest:
Method | Description |
---|---|
GridView.Clear() | The data grid is deleted. For example, if GridView.Header = 1 a header line with column headers is displayed, it is retained. |
GridView.MoveTo(z,s) | Sets the current cell to row=z and column=s |
Table: 17.7.2.5 Description of selected methods
It has proved to be advantageous to set the grid properties in a separate procedure, as shown in the following excerpts from two different source texts. The number of columns is known in the first section:
PRIVATE SUB SetGridProperty() GridView1.Resizable = TRUE ' Muss vor allen anderen Eigenschaften gesetzt werden GridView1.Mode = Select.Single GridView1.Columns.Count = 4 GridView1.Header = GridView1.Both GridView1.Columns[0].Width = 110 GridView1.Columns[0].Title = "Zahl" GridView1.Columns[1].Width = 120 GridView1.Columns[1].Title = "Wahrheitswert" ... END ' SetGridProperty()
In the second source code excerpt, the number of columns is determined and the column headers are generated dynamically:
PUBLIC SUB SetGridViewProperty() DIM iDatensatzNummer, iSpaltenNummer AS Integer GridView.Header = 1 ' GridView.Horizontal GridView.Columns.Count = rDBResult.Fields.Count GridView.Columns[0].Width = 25 GridView.Columns[0].Resizable = FALSE ' Nur diese Feldbreite ist fix ' GridView-Spalten-Bezeichner ermitteln und eintragen FOR iSpaltenNummer = 0 TO rDBResult.Fields.Count - 1 GridView.Columns[iSpaltenNummer].Title = rDBResult.Fields[iSpaltenNummer].Name NEXT ' Feldname END ' SetGridViewProperty
The following sections describe projects that use a GridView to display data from different sources and offer various options for inserting the data:
The next two projects only make sense if you can save the manipulated data in the grid view, for example, in a csv file or read it in again:
The final project requires Gambas 3 - at least in revision 4715:
The source code is only fully specified and explained for those procedures and functions that are necessary for understanding the properties and methods used in GridView.
Das sind die wesentlichen Gittereigenschaften, die Sie setzen oder auslesen können:
Eigenschaft | Beschreibung | |
---|---|---|
GridView.Header | Die Eigenschaft bestimmt, ob eine Kopfzeile angezeigt wird oder nicht (0=None) oder in welcher Ausrichtung sie angezeigt wird: 3=Both, 1=Horizontal oder 2=Vertical |
Tabelle: 17.7.2.1 Beschreibung Gittereigenschaft .Header
Die Eigenschaften können für alle Spalten oder nur für ausgewählte gelten:
Eigenschaft | Read/Write | Beschreibung | |
---|---|---|---|
GridView.Columns.Count | RW | Anzahl der Spalten in der GridView | |
GridView.Columns.Width | RW | Breite aller Spalten in Pixeln | |
GridView.Columns[k].Width | RW | Breite der Spalte k in Pixeln | |
GridView.Resizable GridView.Columns.Resizable | RW | Resizable legt mit dem Wert TRUE oder FALSE fest, ob alle Spalten in der Breite verändert werden können oder nicht und muss vor allen anderen Eigenschaften gesetzt werden. | |
GridView.Columns[k].Resizable | RW | Resizable legt mit dem Wert TRUE oder FALSE fest, ob die Spaltenbreite der Spalte k verändert werden kann oder nicht und muss nach GridView.Columns.Count gesetzt werden. | |
GridView.Columns.Height | R | Die Höhe der Kopfzeile in Pixel wird ausgelesen |
Tabelle: 17.7.2.2 Beschreibung ausgewählter Gittereigenschaften – Spalten
Für die Zeilen in der GridView gilt Analoges:
Eigenschaft | Read/Write | Beschreibung | |
---|---|---|---|
GridView.Rows.Count | RW | Anzahl der Gitter-Zeilen. Wenn die Anzahl 0 ist, dann wird kein Daten-Gitter angezeigt. | |
GridView.Rows.Width | R | Höhe der Spaltenüberschrift in Pixeln | |
GridView.Rows[k].Height | RW | Höhe der Zeile k | |
GridView.Rows.Resizable | RW | Resizable legt mit dem Wert TRUE oder FALSE fest, ob die Zeilenhöhe verändert werden kann oder nicht. | |
GridView.Rows.Height | RW | Höhe aller Daten-Zeilen in Pixeln |
Tabelle: 17.7.2.3 Beschreibung ausgewählter Gittereigenschaften - Zeilen
Es folgt die Beschreibung weiterer Eigenschaften der GridView:
Eigenschaft | Read/Write | Beschreibung | |
---|---|---|---|
GridView.Column | RW | Setzt oder liest die aktuelle Spalte | |
GridView.Row | RW | Setzt oder liest die aktuelle Zeile | |
GridView.Current | R | Gibt die Eigenschaften einer Zelle zurück; Typ GridViewCell: Alignment, BackColor, Background, Font, ForeColor, Foreground, Height, Left, Padding, Picture, RichText, Text, Top, Width, X, Y | |
GridView.Grid | W | Mit den Werten TRUE oder FALSE wird bestimmt, ob Gitter-Linien gezeichnet werden oder nicht. | |
GridView.Mode | RW | Der Selektions-Modus für Zeilen hat die 3 Modi: Select.None, Select.Single und Select.Multiple. Nur in den Modi Select.Single und Select.Multiple werden die ausgewählten Zeilen farbig markiert, sonst u.a. der Spaltenkopf in Fettschrift. | |
GridView[z,s].Text | W | Text in der Zelle [zeile,spalte] | |
GridView[z,s].Alignment | RW | Text-Ausrichtung in der Zelle [z,s] mit 13 verschiedenen Werten. Vergleichen Sie mit den Angaben im Kapitel 20.7 zur Klasse Align. | |
GridView[z,s].Picture | W | Sie können auch multimediale Objekte - zum Beispiel ein Bild - mit Picture[“image.png”] in eine Zelle einfügen. | |
GridView.Data | RW | Die virtuelle Klasse gilt nur in Verbindung mit dem GridView.Data-Event und hat folgende Eigenschaften: Alignment, BackColor, Background, Font, ForeColor, Foreground, Padding, Picture, RichText und Text für den Gitter-Inhalt. |
Tabelle: 17.7.2.4 Beschreibung ausgewählter Gittereigenschaften
Interessant sind vor allem diese beiden Methoden:
Methode | Beschreibung | |
---|---|---|
GridView.Clear | Das Daten-Gitter wird gelöscht. Wenn zum Beispiel mit GridView.Header = 1 eine Kopfzeile mit Spaltenüberschriften angezeigt wird, dann bleibt diese erhalten. | |
GridView.MoveTo(z,s) | Setzt die aktuelle Zelle auf Zeile=z und Spalte=s |
Tabelle: 17.7.2.5 Beschreibung ausgewählter Methoden
Es hat sich als vorteilhaft erwiesen, das Setzen der Gittereigenschaften in einer eigenen Prozedur zu realisieren, wie es die folgenden Auszüge aus zwei verschiedenen Quelltexten zeigen. Im ersten Ausschnitt ist die Anzahl der Spalten bekannt:
PRIVATE SUB SetGridProperty() GridView1.Resizable = TRUE ' Muss vor allen anderen Eigenschaften gesetzt werden GridView1.Mode = Select.Single GridView1.Columns.Count = 4 GridView1.Header = GridView1.Both GridView1.Columns[0].Width = 110 GridView1.Columns[0].Title = "Zahl" GridView1.Columns[1].Width = 120 GridView1.Columns[1].Title = "Wahrheitswert" ... END ' SetGridProperty()
Im zweiten Quelltext-Auszug werden die Anzahl der Spalten ermittelt sowie die Spaltenüberschriften dynamisch generiert:
PUBLIC SUB SetGridViewProperty() DIM iDatensatzNummer, iSpaltenNummer AS Integer GridView.Header = 1 ' GridView.Horizontal GridView.Columns.Count = rDBResult.Fields.Count GridView.Columns[0].Width = 25 GridView.Columns[0].Resizable = FALSE ' Nur diese Feldbreite ist fix ' GridView-Spalten-Bezeichner ermitteln und eintragen FOR iSpaltenNummer = 0 TO rDBResult.Fields.Count - 1 GridView.Columns[iSpaltenNummer].Title = rDBResult.Fields[iSpaltenNummer].Name NEXT ' Feldname END ' SetGridViewProperty
In den folgenden Kapiteln werden Ihnen Projekte vorgestellt, die eine GridView zur Anzeige von Daten aus unterschiedlichen Quellen nutzen und verschiedene Möglichkeiten zum Einfügen der Daten bieten:
Die nächsten zwei Projekte machen nur dann Sinn, wenn Sie die manipulierten Daten in der Gitteransicht zum Beispiel in einer csv-Datei speichern oder aus dieser wieder einlesen können:
Das abschließende Projekt benötigt Gambas 3 – mindestens in der Revision 4715:
Der Quelltext wird nur für jene Prozeduren und Funktionen vollständig angegeben und erläutert, die für das Verständnis der verwendeten Eigenschaften und der eingesetzten Methoden der GridView notwendig sind.