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 

Die OdbcGrid-Funktionen

Siehe auch OdbcGridGotoBottom, OdbcGridGotoRow, OdbcGridGotoTop