User Tools

Site Tools


k17:k17.7:k17.7.2:start

17.7.2 Selected GridView Properties

These are the main grid properties that you can set or read:

PropertyDescription
GridView.HeaderThe 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:

tablelayout

PropertyRead/WriteDescription
GridView.Columns.CountRW Number of columns in the GridView
GridView.Columns.WidthRW Width of all columns in pixels
GridView.Columns[k].WidthRW Width of column k in pixels
GridView.Columns.ResizableRW 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].ResizableRW 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.HeightRThe 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:

tablelayout

PropertyRead/WriteDescription
GridView.Rows.CountRWNumber of grid rows. If the number is 0, no data grid is displayed.
GridView.Rows.WidthRHeight of the column header in pixels.
GridView.Rows[k].HeightRWHeight of line k.
GridView.Rows.ResizableRWResizable specifies with the value TRUE or FALSE whether the row height can be changed or not.
GridView.Rows.HeightRWHeight 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:

tablelayout

PropertyRead/WriteDescription
GridView.ColumnRW Sets or reads the current column
GridView.RowRW Sets or reads the current line
GridView.currentR 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.GridW The values TRUE or FALSE determine whether grid lines are drawn or not.
GridView.ModeRW 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].TextW Text in the cell[row,column]
GridView[z,s].AlignmentRW 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].PictureW You can also insert multimedia objects - for example an image - into a cell with Picture[“image.png”].
GridView.DataRWThe 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:

MethodDescription
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:

  • GridView with fixed number of columns; insertion of data without buffering
  • Display of data from a database table, where the number of rows and columns - depending on the SQL query - is not known at program start.
  • Export data from a GridView to a csv file.
  • Data import from a csv file and display the data in a GridView.

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:

  • Change of contents of selected cells in a GridView,
  • Change selected cells in a GridView using a special class.

The final project requires Gambas 3 - at least in revision 4715:

  • Sorting of data in a GridView

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.

Download

17.7.2 Ausgewählte Gittereigenschaften GridView

Das sind die wesentlichen Gittereigenschaften, die Sie setzen oder auslesen können:

EigenschaftBeschreibung
GridView.HeaderDie 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:

EigenschaftRead/WriteBeschreibung
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:

EigenschaftRead/WriteBeschreibung
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:

EigenschaftRead/WriteBeschreibung
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:

MethodeBeschreibung
GridView.ClearDas 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:

  • GridView mit fester Anzahl der Spalten; Einfügen der Daten ohne Zwischenspeicherung
  • GridView mit fester Anzahl der Spalten; Speichern der Daten in einer Matrix und Einfügen der Daten mit dem Ereignis GridView_Data(Row AS Integer, Column AS Integer) – verbunden mit Möglichkeiten, zum Beispiel die Gitterzeilen oder Gitterzellen in besonderer Weise farblich auszuzeichnen.
  • Anzeige von Daten aus einer Datenbank-Tabelle, wobei die Anzahl der Zeilen und Spalten – abhängig von der SQL-Anfrage – beim Programmstart nicht bekannt ist.
  • Daten-Export aus einer GridView in eine csv-Datei.
  • Daten-Import aus einer csv-Datei und Anzeige der Daten in einer GridView.

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:

  • Änderung von Inhalten ausgewählter Zellen in einer GridView,
  • Änderung ausgewählter Zellen in einer GridView unter Verwendung einer speziellen Klasse.

Das abschließende Projekt benötigt Gambas 3 – mindestens in der Revision 4715:

  • Sortierung von Daten in einer GridView

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.

17.7.2 Download

The website uses a temporary session cookie. This technically necessary cookie is deleted when the browser is closed. You can find information on cookies in our privacy policy.
k17/k17.7/k17.7.2/start.txt · Last modified: 02.07.2018 (external edit)

Page Tools