sevDataGrid ActiveX

Flexibler Datenbank-Viewer mit umfangreichen Funktionen

Features

Das sevDataGrid kann aber nicht nur in Verbindung mit einer Datenbank genutzt werden, sondern auch als komfortabler Ersatz des ListView-Controls :D Oder auch um Daten aus einer RandomAccess-Datei anzuzeigen :D :D :D

Allgemeine Vorgehensweise

  1. DataGrid auf eine Form ziehen
  2. Im Eigenschaftfenster die gewünschten Eigenschaften festlegen (AutoEdit, AutoSort, AutoUpdate usw.)
  3. Per Code ein Recordset erstellen und der DataGrid Recordset-Eigenschaft zuweisen
  4. Nach der Recordset-Zuweisung ggf. die Spalten-Eigenschaften ändern (Column-Objekt: Width, MaxWidth, ColType usw.)
  5. Danach die Refresh-Methode aufrufen, um die Daten im Grid anzuzeigen
  6. Falls AutoSort = True, im ColumnClick-Event unbedingt Set Rs = Grid1.Recordset setzen (sofern die Eigenschaft CreateClone = False festgelegt ist), so dass das Originalrecordset wieder dem des DataGrid entspricht!

Beispiel:

Option Explicit

' Datenbank-Objekte
Public oDB As DAO.Database
Public oRs As DAO.Recordset
Private Sub Form_Load()
  Set oDB = DBEngine.OpenDatabase(App.Path & "\Demo.mdb")
  Set oRs = oDB.OpenRecordset("SELECT KdNr, Anrede, Name, EMail, " & _
    "Info, Strasse, Plz, Ort, Datum, Betrag FROM Adressen")

  With Grid1
    ' Recordset zuweisen und clonen
    .CreateClone = True
    Set .Recordset = oRs
  
    ' autom. Neuzeichnen des DataGrids unterbinden
    .LockUpdate True

    ' Spalten-Breiten anpassen
    .Columns(1).Width = 800
    .Columns(2).Width = 1500
    ...

    ' Spalten-Ausrichtung
    .Columns(1).Align = ALIGN_CENTER
    ...
    
    ' Spalten-Typen
    .Columns(1).ColType = TYPE_COMBOLIST
    .Columns(2).ColType = TYPE_EMAIL
    ...
    
    ' Maximale Spaltenbreite (falls User die Spaltenbreite selbst ändert)
    .Columns(1).MaxWidth = 1200
    ...
    
    ' Neuzeichnen des DataGrids wieder aktivieren
    .LockUpdate False
    .Refresh
    .Row = 1
  End With
End Sub
Private Sub Grid1_ColumnClick(ByVal nCol As Long)
  ' Sortierfolge wurde geändert (falls AutoSort=TRUE)
  ...
  
  ' Wichtig, falls CreateClone=False!
  Set oRs = Grid1.Recordset
End Sub

Kurzbeschreibung der Eigenschaften, Methoden und Ereignisse

Eigenschaften

AllowColumnSizingLegt fest, ob der Benutzer die Spaltenbreite mit der Maus verändertn darf.
AllowDeleteLegt fest, ob der Benutzer über die ENTF-Taste Datensätze löschen darf oder nicht.
AllowEditLegt fest, ob beim Doppelklick auf eine Spalte der Editiermodus gestartet werden soll.
AllowMultiselectLegt fest, ob der Benutzer mehrere Datenzeilen auswählen darf.
AutoSortLegt fest, ob der Inhalt beim Klick auf einen Spaltenbezeichner autom. sortiert werden soll.
AutoToolTipsLegt fest, ob autom.ein ToolTip angezeigt werden soll, wenn der Inhalt einer Zelle nicht vollständig im DataGrid-Steuerelement angezeigt werden kann.
AutoUpdateLegt fest, ob geänderte Daten autom. beim Beenden des Editiermodus gespeichert werden sollen.
BackColorLegt die Hintergrundfarbe des DataGrid-Steuerelements fest (Zellenbereich).
BackColorEvenLegt die Hintergrundfarbe von ungeraden Zeilen im DateGrid-Steuerelement fest.
BackColorOddLegt die Hintergrundfarbe von geraden Zeilen im DateGrid-Steuerelement fest.
BOFReadOnly. Gibt den Wert TRUE zurück, wenn sich der Datensatzzeiger auf dem ersten Datensatz befindet.
CellHeightReadOnly. Gibt die Höhe der angegeben Zelle in Twips zurück.
CellLeftReadOnly. Gibt die linke Position der angegebenen Zelle in Twips zurück.
CellNew(x)Über diese Eigenschaft lassen sich direkt vor dem Hinzufügen einer neuen Datenzeile bestimmte Spaltenvorgaben festlegen.
CellSpacingLegt den Abstand zwischen den Zellen fest oder gibt diesen zurück.
CellToolTipsLegt fest, ob autom.ein ToolTip angezeigt werden soll, wenn der Inhalt einer Zelle nicht vollständig im DataGrid-Steuerelement angezeigt werden kann.
CellTopReadOnly. Gibt die vertikale Position der angegebenen Zelle in Twips zurück, wenn diese sich im sichtbaren Bildschirmbereich befindet.
CellWidthReadOnly. Gibt die Breite der angegeben Zelle in Twips zurück.
CheckboxesLegt fest, ob in der ersten Datenspalte autom. ein Kontrollkästchen angezeigt werden soll.
CheckboxStyle Legt die Darstellung der CheckBox fest (Standard oder Modern)
ColsReadOnly. Gibt die Anzahl der im DataGrid enthaltenen Spalten zurück.
ColumnHeadersVisibleLegt fest, ob die Spaltenbezeichner angezeigt werden sollen oder nicht.
Columns(x).AlignLegt die Ausrichtung für eine Spalte fest oder gibt diese zurück.
Columns(x).BackColorLegt die Hintergrundfarbe für einen Spalten-Button fest.
Columns(x).BoldLegt fest, ob der Spaltenbezeichner in Fettdruck dargestellt werden soll.
Columns(x).CaptionLegt den Text für einen Spalten-Button fest.
Columns(x).ColTypeLegt den Typ der Spalte fest oder gibt diesen zurück.
Columns(x).ForeColorLegt die Vordergrundfarbe für einen Spaltenbutton fest oder gibt diese zurück.
Columns(x).HeadAlignLegt die Ausrichtung für den Text des angegebenen Spaltenbezeichners fest.
Columns(x).ImageLegt ein Bildsymbol für den angegeben Spaltenkopf fest.
Columns(x).InputTypeLegt den Typ der Spalte für den EditMode fest (wg. Plausibilitätsprüfung und autom. Formatierung der Eingabe)
Columns(x).KeyLegt einen eindeutigen Schlüsselnamen für eine Spalte fest (wird bei Datenbankanbindung autom. mit den Feldnamen vorbelegt)
Columns(x).MaxInputLengthLegt die maximale Eingabelänge für die angebene Spalte im Editmodus fest.
Columns(x).MaxWidthLegt die maximale Spaltenbreite der angegebenen Spalte fest.
Columns(x).SortTypeLegt den Typ der Spalte für das autom. Sortieren fest (nur wenn DataMode = Mode_List)
Columns(x).VisibleLegt fest, ob eine Spalte dargestellt werden soll oder nicht.
Columns(x).WidthLegt die Breite einer Spalte fest oder gibt diese zurück.
CreateCloneLegt fest, ob das DataGrid für weitere Verarbeitung der Daten einen Clone vom ursprünglichen Recordset erstellen soll.
DataModeLegt fest, auf welche Weise das DataGrid die anzuzeigenden Daten beziehen soll.
EnabledLegt fest, ob das DataGrid den Fokus erhalten kann.
EOFReadOnly. Gibt den Wert TRUE zurück, wenn sich der Datensatzzeiger auf dem letzten Datensatz befindet.
FontLegt die Schriftart und Größe für die Anzeige der Daten im DataGrid-Steuerelement fest.
ForeColorLegt die Vordergrundfarbe der Datenzellen fest.
GetColGibt den Spaltenindex anhand eines übergebenen Key-Wertes zurück.
GridColorLegt die Farbe der Gitterlinien fest.
GridLinesLegt fest, ob Gitterlinien angezeigt werden soll oder nicht.
GridLineWidthLegt die Stärke der Gitternetzlinien fest oder gibt diese zurück.
HighlightBackColorLegt die Hintergrundfarbe für den aktuell selektierten Datensatz im DataGrid-Steuerelement fest.
HighlightForeColorLegt die Vordergrundfarbe für den aktuell selektierten Datensatz im DataGrid-Steuerelement fest.
HTMLTableRowsPerPageLegt die maximale Anzahl Datenzeilen pro HTML-Seite fest.
HTMLTableTitleLegt die Überschrift des WebReports fest.
HTMLTitleLegt den Titel des WebReports fest, der in der Titelzeile des Browsers angezeigt wird.
hWndGridGibt das Windowshandle des DataGrid-Elements zurück.
IconsCollection. Über diese Eigenschaft teilen Sie dem DataGrid die benötigten Bildsymbole mit.
IsColVisiblePrüft ob sich die angegebene Spalte im sichtbaren Bildschirmbereich befindet.
IsEditModeReadOnly. Gibt einen Wert zurück, der festlegt, ob gerade eine Zelle editier oder eine neue Datenzeile hinzugefügt wird.
IsSelectedGibt TRUE zurück, wenn die angegeben Datenzeile selektiert ist.
LinkColorLegt die Vordergrundfarbe der Zellen vom Typ "Document", "Mail" und "URL" fest.
LinkUnderlineLegt fest, ob Zelleninhalte vom Typ "Document", "Mail" oder "URL" unterstrichen dargestellt werden sollen.
ListItemsErstellt ein ListItem-Objekt für die angebenen Datenzeile (nur wenn DataMode = Mode_List)
RecordsetLegt einen Verweis auf ein Recordset-Objekt fest, das die anzuzeigenden Daten enthält oder gibt diesen zurück.
RowGibt die Zeilennummer für den aktuell selektierten Eintrag zurück oder legt diese fest.
RowHeightLegt die Höhe der DataGrid-Zeilen fest oder gibt diese zurück.
RowIsVisibleLiefert den Wert TRUE, wenn sich die angegebene Zeile im aktuell sichtbaren Bildschirmausschnitt befindet.
RowsGibt die aktuelle Anzahl Zeilen im DataGrid zurück.
ScrollbarsLegt fest, ob und wann ScrollBars angezeigt werden sollen.
ScrollBarBackColorLegt die Hintergrundfarbe für die Scrollbars fest oder gibt diese zurück.
ScrollBarStyleLegt den Stil der Scrollbars fest (z.B. Flat oder Standard).
ScrollBtnBackColorLegt die Hintergrundfarbe der Pfeilbuttons und des Schieberegler fest.
ScrollBtnBackColorDownLegt die Hintergrundfarbe der Pfeilbuttons und des Schieberegler bei gedrückter Maustaste fest.
ScrollBtnForeColorLegt die Vordergrundfarbe der Pfeilbuttons und des Schieberegler fest.
ScrollBtnForeColorDownLegt die Vordergrundfarbe der Pfeilbuttons und des Schieberegler bei gedrückter Maustaste fest.
ScrollToolTipLegt fest, ob beim Scrollen über den vertikalen Scrollbalken ein ToolTip angezeigt werden soll.
SelRowEnthält eine Auflistung der selektierten Datenzeilen.
SelCountibt die Anzahl der aktuell selektierten Datenzeilen zurück.
SelectedItemibt ein ListItem-Objekt für die aktuell selektierte Datenzeile zurück.
ShowSortSymbolsLegt fest ob bei aktivierter AutoSort-Eigenschaft zusätzlich Pfeilsymbole in den Spaltenbezeichnern angezeigt werden sollen.
StartEditWithLegt fest bei welcher Aktion autom. der Editiermodus gestartet werden soll, falls AutoEdit = True.
TextLegt den Text für eine Zelle fest (nur wenn DataMode = Mode_List) oder gibt diesen zurück.
TopRowGibt den Zeilenindex der obersten Zeile im sichtbaren Anzeigenbereich zurück.
VersionGibt die exakte Versionsnummer des DataGrid-Controls zurück.

Methoden

AbortAddNewBeendet das Hinzufügen einer neuen Datenzeile ohne diese zu speichern.
AddItemFügt dem DataGrid-Steuerelement zur Laufzeit ein neue Zeile hinzu (nur wenn DataMode = Mode_List)
AddNewFügt dem DataGrid eine neuen Datenzeile hinzu und wechselt in den Editiermodus.
ClearLöscht den gesamten Inhalt des DataGrids und entfernt optional auch alle Spalten.
ColumnAddFügt dem DataGrid-Steuerelement eine neue Spalte hinzu.
ColumnRemoveEntfernt eine bestimmte Datenspalte aus dem DataGrid (wird nicht unterstützt, wenn DataMode = Mode_Recordset)
ComboAddItemFügt der Edit-ComboBox einen neuen Eintrag hinzu.
DeleteRowLöscht eine Datenzeile aus dem DataGrid bzw. dem Recordset.
DeleteSelectedRowsLöscht alle selektierten Datenzeilen aus dem DataGrid.
DoEditStartet den Editiermodus für eine bestimmte Datenspalte.
DoHTMLReportErstellt eine WebReport (HTML).
DoSortSortiert den Inhalt des DataGrids nach bestimmten Spalten.
FindFirstSucht nach dem ersten passenden Eintrag und selektiert die gefundene Zeile. (nur wenn DataMode = Mode_Recordset)
FindNextSucht nach dem nächsten zutreffenden Eintrag. (nur wenn DataMode = Mode_Recordset)
FindItemDurchsucht den Inhalt des DataGrids nach einem bestimmten Begriff (wird im Recordset-Mode nicht unterstützt)
HTMLKilLFilesLöscht alle temporären HTML-Dateien, die beim Erstellen des WebReports erstellt wurden.
HTMLShowReportZeigt den zuvor mit DoHTMLReport erstellten WebReport im Standard-Browser an.
LockUpdateSchaltet das autom. Neuzeichnen des DataGrid-Inhaltes ein bzw. aus.
MoveFirstBewegt den Datensatzzeiger auf den ersten Datensatz.
MoveLastBewegt den Datensatzzeiger auf den letzten Datensatz.
MoveNextBewegt den Datensatzzeiger auf den nächsten Datensatz.
MovePreviousBewegt den Datensatzzeiger auf den vorigen Datensatz.
MovePageDownBlättert die aktuelle Ansicht um eine Seite vor.
MovePageUpBlättert die aktuelle Ansicht um eine Seite zurück.
ProcessLinkStartet den Standard-Browser / Mailclient bzw. die mit dem Dokument verknüpfte Anwendung.
ReadColumnWidthLiest die Spalteneinstellung aus der Registry oder einer INI-Datei.
ReadFromFileLiest den Inhalt einer mit SaveToFile gespeicherten Liste ein (nur wenn DataMode = Mode_List)
RefreshAktualisiert die aktuelle Ansicht (zeichnet das DataGrid neu).
ReSortFührt eine erneute Sortierung nach den aktuell eingestellten Kriterien durch.
SaveColumnWidthSpeichert die aktuellen Spalteneinstellungen (Breite) in die Registry oder in eine INI-Datei.
SaveToFileSpeichert den gesamten Inhalt des Datengrids - einschl. Spaltendefinitionen - in eine Datei (nur wenn DataMode = Mode_List).
SelectionHideZeigt die selektierte Zeile im DataGrid normal an, als wäre diese nicht selektiert.
SelectionShowZeigt die aktuelle Zeile im DataGrid als selektiert an.
SetRowSetzt den Datensatzzeiger auf eine bestimmte Zeile.

Ereignisse

AfterAddNewWird nach dem erfolgreichen Speichern der neuen Datenzeile ausgelöst.
BeforeAddNewWird ausgelöst, bevor die Daten einer neuen Datenzeile gespeichert werden.
BeforeDeleteWird ausgelöst, wenn der User die ENTF-Taste gedrückt hat, also noch bevor der Datensatz gelöscht wird.
BeforeUpdateWird ausgelöst, bevor geänderte Daten gespeichert werden.
CancelAddNewWird ausgelöst, wenn das Hinzufügen einer neuen Datenzeile abgebrochen wurde.
CellClickWird ausgelöst, wenn der User auf eine Spalte klickt.
CellDblClickWird ausgelöst, wenn der Anwender doppelt auf eine Zelle klickt.
ColumnClickWird ausgelöst, wenn der User auf einen Spaltenbutton klickt.
ColumnResizedWird ausgelöst, wenn der User eine Spaltenbreite verändert hat.
EditCellChangeWird beim Wechseln der Spalte im EditMode ausgelöst.
EditKeyDownWird ausgelöst, wenn der User im Editmodus eine Taste niederdrückt.
EditKeyPressWird ausgelöst, wenn der User im Editmodus eine Taste gedrückt hat.
EditKeyUpWird ausgelöst, wenn der User im Editmodus eine Taste wieder loslässt.
ErrorAddNewWird ausgelöst, wenn beim Speichern einer neuen Datenzeile ein Fehler aufgetreten ist.
ErrorDeleteWird ausgelöst, wenn beim Löschen einer Datenzeile ein Fehler aufgetreten ist.
ErrorSortWird ausgelöst, wenn während des Sortiervorgangs ein Fehler auftritt.
ErrorUpdateWird ausgelöst, wenn während des autom. Update-Vorgangs ein Fehler auftritt.
FillComboBoxWird ausgelöst, wenn auf der Editiermodus für eine Spalte vom Type "COMBOBOX" bzw. "COMBOLIST" gestartet wird, um die ComboBox mit den gewünschten Einträgen zu füllen.
HTMLEndPage Wird ausgelöst, wenn eine HTML-Seite abgeschlossen wird.
HTMLNewPageWird ausgelöst, wenn eine neue HTML-Seite erstellt wird.
HTMLProgressWird während des Erstellens des WebReports ausgelöst, um einen Fortschritt anzeigen zu können.
KeyDownTritt auf, wenn der Benutzer eine Taste drückt, während ein Objekt den Fokus besitzt.
KeyPressTritt auf, wenn der Benutzer eine ANSI-Taste drückt und losläßt.
KeyUpTritt auf, wenn der Benutzer eine Taste losläßt, während ein Objekt den Fokus hat.
OnIconClickWird ausgelöst, wenn der User auf ein Bildsymbol klickt.
OnLinkClickWird ausgelöst, wenn der Anwender auf eine Zelle vom Typ "Document", "EMail" oder "URL" klickt.
RowChangeWird ausgelöst, wenn der Datensatzzeiger auf eine andere Zeile bewegt wurde.
RowLoadedWird ausgelöst, wenn eine neue Zeile in den sichtbaren Bereich des DataGrid-Steuerelements geladen wird.
ScrollWird ausgelöst, wenn der Anwender über die vertikale Scrollbar im DataGrid scrollt.
StartAddNewWird ausgelöst, wenn eine neue Datenzeile hinzugefügt werden soll.
StartColumnSizingWird ausgelöst, wenn der User versucht die Spaltenbreite per Maus zu ändern.
StartEditModeWird ausgelöst, wenn der Editmodus gestartet werden soll.
StartScrollBarMoveWird ausgelöst, wenn der Anwender mit der linken Maustaste auf den vertikalen Scrollbalken klickt.