Gambas Documentation
Application Repository
Code Snippets
Compilation & Installation
Components
gb
gb.args
gb.cairo
gb.chart
gb.clipper
gb.complex
gb.compress
gb.crypt
gb.data
gb.db
gb.db.form
DataBrowser
DataCheckBox
DataCombo
DataComboView
DataControl
DataSource
_get
_new
Ascending
BeforeDelete
BeforeSave
Cancel
Change
Connection
Count
Create
Current
Filter
Find
FindNext
GetKeys
IgnoreParent
Index
Modified
MoveFirst
MoveLast
MoveNext
MovePrevious
MoveTo
ReadOnly
Refresh
Remove
Reset
ResetAll
Save
Sort
Table
Update
DataView
gb.db.mysql
gb.db.odbc
gb.db.postgresql
gb.db.sqlite2
gb.db.sqlite3
gb.dbus
gb.dbus.trayicon
gb.debug
gb.desktop
gb.desktop.gnome.keyring
gb.desktop.x11
gb.eval
gb.eval.highlight
gb.form
gb.form.dialog
gb.form.editor
gb.form.htmlview
gb.form.mdi
gb.form.print
gb.form.stock
gb.form.terminal
gb.gmp
gb.gsl
gb.gtk
gb.gtk.opengl
gb.gtk3
gb.gtk3.opengl
gb.gtk3.webview
gb.gui
gb.gui.opengl
gb.gui.qt
gb.gui.qt.ext
gb.gui.qt.opengl
gb.gui.qt.webkit
gb.gui.trayicon
gb.gui.webview
gb.hash
gb.highlight
gb.image
gb.image.effect
gb.image.imlib
gb.image.io
gb.inotify
gb.jit
gb.libxml
gb.logging
gb.map
gb.markdown
gb.media
gb.media.form
gb.memcached
gb.mime
gb.mongodb
gb.mysql
gb.ncurses
gb.net
gb.net.curl
gb.net.pop3
gb.net.smtp
gb.openal
gb.opengl
gb.opengl.glsl
gb.opengl.glu
gb.opengl.sge
gb.openssl
gb.option
gb.pcre
gb.pdf
gb.poppler
gb.qt4
gb.qt4.ext
gb.qt4.opengl
gb.qt4.webkit
gb.qt4.webview
gb.qt5
gb.qt5.ext
gb.qt5.opengl
gb.qt5.webkit
gb.qt5.webview
gb.qt6
gb.qt6.ext
gb.qt6.opengl
gb.qt6.webview
gb.report
gb.report2
gb.scanner
gb.sdl
gb.sdl.sound
gb.sdl2
gb.sdl2.audio
gb.settings
gb.signal
gb.term
gb.test
gb.util
gb.util.web
gb.v4l
gb.vb
gb.web
gb.web.feed
gb.web.form
gb.web.gui
gb.xml
gb.xml.html
gb.xml.rpc
gb.xml.xslt
Controls pictures
Deprecated components
Developer Documentation
Development Environment Documentation
Documents
Error Messages
Gambas Playground
How To's
Language Index
Language Overviews
Last Changes
Lexicon
README
Search the wiki
To Do
Topics
Tutorials
Wiki License
Wiki Manual

DataSource (gb.db.form)

DataSource is a Container that provides data from a database to all its children and grand-children recursively: It uses its Table and Filter properties and an open Connection to make a Result object. From this Result, it fills its children controls.

The database is defined by the Connection property.

The DataSource is optimized so that it will extract the data from the database incrementally.

This class inherits Panel in gb.qt4.

This class is creatable.

This class acts like a read-only array.

Properties
Ascending   Return or set if the sort is ascending.
Connection   Return or set the Connection that will be used by the DataSource control.
Count   Return the number of records.
Current   Return the values of all primary keys of the current record as an array of Variant.
Filter   Returns or sets the Filter criteria property. An empty string (the default) accepts everything.
IgnoreParent   Return or set if the DataSource ignores its parents.
Index   Return the index of the current record.
Modified   Return if the current record has been modified by one of the DataSource child.
ReadOnly   Return or set if the DataSource is read-only.
Sort   Return or set the field used for sorting the data.
Table   Returns or sets the name of the table we want to use.

Inherited properties
Action   Returns or sets the action string associated with the control.
Arrangement   Returns or sets how this container arrange its children controls.
AutoResize   Indicates that the container automatically resizes to the size of its contents.
Background   Returns or sets the background color used by the control.
Border   Returns or sets the border type of the control.
Centered   Center controls horizontally or vertically according to the container arrangement.
Children   Returns a collection of each control included in the container.
ClientH   A synonymous for the ClientHeight property.
ClientHeight   Returns the height of the area containing the controls.
ClientW   A synonymous for the ClientWidth property.
ClientWidth   Returns the width of the area containing the controls.
ClientX   Returns the position of the left border of the area containing the controls.
ClientY   Returns the position of the top border of the area containing the controls.
Cursor   Use this property for assigning a custom cursor to a control.
Design   Indicates that the control is in design mode.
Direction   Return or set the control text direction.
Drop   Returns or sets if a control accepts drops.
Enabled   Indicates that the control is enabled.
Expand   Returns or sets if a control will expand if included in a container that arranges its contents.
Font   Returns or sets the font used to draw text in the control.
Foreground   Returns or sets the foreground color used by the control.
H   A synonymous for the Height property.
Handle   Returns the internal X11 window handle of the control.
HasFocus   Returns whether the control has the focus.
Height   Returns or sets the height of the control.
Hovered   Returns whether the mouse cursor is inside the control.
Id   A synonymous for the Handle property.
Ignore   Returns or sets if a control must be ignored when its parent arranges its children.
Indent   Returns or sets if the children controls of the container are indented.
Invert   Return or set if the horizontal or vertical arrangement direction is inverted.
Left   Returns or sets the position of the left border of the control relative to its parent.
Margin   Returns or sets if there is a margin between the container border and all its children.
Mouse   Returns or sets the appearence of the cursor when it points inside the control.
Name   Returns or sets the name of the control.
Next   Returns the next control having the same parent.
NoTabFocus   Return or set if a control cannot be focused with the TAB key.
Padding   Returns or sets the number of pixels used as space between children controls, or container inner margin.
Parent   Returns the control container.
PopupMenu   Return or set the name of the menu that will be popped-up when the user presses the right mouse button or the keyboard MENU key.
Previous   Returns the previous control having the same parent.
Proxy   Return or set the "proxy" of a control.
ProxyFor   Return which control that control is a proxy for.
RightToLeft   Return if the control is right to left oriented.
ScreenX   Returns the position of the left border of the control in screen coordinates.
ScreenY   Returns the position of the top border of the control in screen coordinates.
Spacing   Returns or sets if the children of the container are spaced out.
Tag   Returns or sets the control tag.
Tooltip   Returns or sets the tooltip shown when the mouse stays on the control for a short time.
Top   Returns or sets the position of the top border of the control relative to its parent.
Tracking   Returns or sets if the control will receive MouseMove events.
Visible   Indicates if the control is visible or not.
W   A synonymous for the Width property.
Width   Returns or sets the width of the control.
Window   Returns the top-level window that contains the control.
X   Returns or sets the position of the left border of the control relative to its parent.
Y   Returns or sets the position of the top border of the control relative to its parent.

Methods
Cancel   Cancel any current edition of child controls.
Create   Saves the data from the data controls and clears them afterwards. If bUpdate is False, it does not commit the operation until you use the Refresh method.
Find   Fin the first row matching the specified filter and return its index.
FindNext   Find the next row matching the specified filter from a specified row, and return its index.
GetKeys  
MoveFirst   Move the current record to the first record and return if the move has been possible.
MoveLast   Move the current record to the last record and return if the move has been possible.
MoveNext   Move the current record to the next one and return if the move has been possible.
MovePrevious   Move the current record to the previous one and return if the move has been possible.
MoveTo   Move the current record to the Indexth record and return if the move has been possible.
Remove   Remove the current record from the database, and return if the remove has been possible.
Reset   Reset the internal connection metadata cache used by the DataSource.
ResetAll   Reset the internal connection metadata cache entirely.
Save   Writes the values of DataControls to the database (connected to through the Connection property).
Update   Reload the DataSource data and update all bound child controls accordingly.

Inherited methods
Delete   Destroys the control.
Drag   Starts a drag & drop process.
FindChild   Finds the first child control pointed by the X and Y coordinates.
Grab   Grab the keyboard and the mouse so that all keyboard and mouse events are received by the control.
Hide   Hides the control.
Lower   Sends the control to the background of its parent.
Move   Moves and/or resizes the control.
MoveScaled   Moves and/or resizes the control.
Raise   Sends the control to the foreground of its parent.
Refresh   Trigger a redraw of the control.
Reparent   Changes the container of a control.
Resize   Resizes the control.
ResizeScaled   Resizes the control.
SetFocus   Gives the focus to the control.
Show   Shows the control.

Events
BeforeDelete   This event is raised before deleting a record.
BeforeSave   This event is raised just before the DataSource is saved.
Change   Raised when the DataSource current record has changed and all bound child controls are updated.
Invalid   This event is raised when the value entered for a specific field is invalid.

Inherited events
Arrange   This event is raised when a container has just finished arranging its contents.
BeforeArrange   This event is raised just before a container arranges its contents.
DblClick   Raised when the user quickly clicks twice on the control.
Drag   This event is raised when the mouse enters the control during a drag & drop process.
DragLeave   This event is raised when the mouse leaves the control during a drag & drop operation.
DragMove   This event is raised while the mouse moves inside the control during a drag & drop process.
Drop   This event is raised when a drag is dropped in the control.
Enter   Raised when the mouse enters the control.
GotFocus   Raised when the control has got the focus.
KeyPress   Raised when a key is pressed while the control has the focus.
KeyRelease   Raised when a key is released while the control has the focus.
Leave   Raised when the mouse leaves the control.
LostFocus   Raised when the control has lost the focus.
Menu   Raised when the user clicks on the control with the right mouse button, or if it hits the MENU key.
MouseDown   Raised when a mouse button is pressed while the cursor is inside the control.
MouseDrag   This event is raised when a drag operation should be started.
MouseMove   Raised when the mouse moves inside the control while a mouse button is pressed.
MouseUp   Raised when a mouse button is depressed while the cursor is inside the control.
MouseWheel   This event is raised when the user moves or presses the mouse wheel while the mouse is inside the control.
NewChild   This event is raised when a new child Control has just been inserted into the container.

See also