OdbcGridRequery
value OdbcGridRequery ( string strControl, string/value strGotoSelect/GotoBottom = false );
Rückgabewert
Rückgabewert |
Beschreibung |
ODBCGRID_success |
Die Aktualisierung wurde erfolgreich an das Bauelement weitergeleitet. |
CONTROL_wrongControl |
Das Bauelement mit dem Namen strControl ist keine ODBC-Tabelle. |
CONTROL_notFound |
Es existiert kein Bauelement mit dem Namen strControl. |
Parameter
strControl
Der Name des Bauelements ODBC-Tabelle, das aufgefrischt werden soll.
strGotoSelect
Gibt an ob die Selektion nach dem Auffrischen in eine bestimmte Zeile der Tabelle springen soll. Dies ist bei einem Wechsel der SQL-Select Abfrage sinnvoll, wenn sich durch den Wechsel die Reihenfolge der Tabelle ändert. Hierzu muss angeben werden welchen Spalteninhalt die Zeile, die selektiert werden soll, hat. Wird diese Zeile nicht gefunden, bleibt die vor dem Requery selektierte Zeile selektiert.
Der Syntax hierzu lautet ColumnName = 'Content' oder auch ColumnName = Content.
GotoBottom
Gibt an ob die Selektion nach dem Auffrischen an das Ende der Tabelle springen soll. Dies ist bei vorhergehendem Hinzufügen von Datensätzen sinnvoll.
Bemerkungen
Weist das Bauelement strControl an, seine SQL-Select Abfrage erneut auszuwerten und dann seine Oberfläche zu aktualisieren. Da diese Funktion das Bauelement nur anweist sich zu aktualisieren, die tatsächliche Aktualisierung erfolgt asynchron dazu, zeigen direkt nachfolgende ObdcGridGoto-Aufrufe keine Wirkung. Wird ein strGotoSelect oder ein GotoBottom mit angegeben und die Zeile liegt nicht im sichtbaren Bereich der ODBC-Tabelle, dann scrollt das Bauelement automatisch zu dieser Stelle.
Beispiel
//Selektiere nach dem Requery den Kunden selCustomer OdbcGridRequery("customerList", Printf("Name='%s'", selCustomer));
Im nachfolgenden Beispiel wird nach dem Hinzufügen eines Datensatzes ein Requery an das Bauelement 'customerGrid' weitergeleitet, mit der Zusatzinformation den letzten (hier neuen) Datensatz zu selektieren und ihn sichtbar zu machen.
if (addCustomer) addCustomer = false; strLastError = ""; if (!StringIsEmpty(customerName) && !StringIsEmpty(customerZIP) && !StringIsEmpty(customerCity)) if (OdbcDatabaseExecute(dxDatabase, "insert into Customers (Name, Street, ZIP, City) values ('%s','%s','%s','%s')", customerName, customerStreet, customerZIP, customerCity)) OdbcGetLastError (strLastError); else OdbcGridRequery("customerGrid", true); end end end
Siehe auch OdbcGridGotoBottom, OdbcGridGotoRow, OdbcGridGotoTop