Navigation:  Klassen > bBrowser >

bBrowser:CellEdit()

Diese Seite drucken    Vorherige SeiteZurück zum Anfang des KapitelsNächste Seite

Zweck

Callback-Methode für das Editieren eines Spaltenwertes.

Klasse

bBrowser

Typ

Methode

Syntax

<oBrowser>:CellEdit(<iMode>) Æ lSuccess

Argumente

<iMode>Eingabemodus, in dem sich die Datenzelle befindet. Es können folgende Modi auftreten:

 

Eingabemodus

Beschreibung

Returnwert

BEDIT_CREATE

Das Control für die Eingabe wird erzeugt.

Der Returnwert FALSE unterbindet die Eingabe.

BEDIT_INIT

Das Control für die Eingabe wird initialisiert.

Der Returnwert FALSE unterbindet die Eingabe

BEDIT_SHOW

Das Control für die Eingabe wird angezeigt.

Der Returnwert wird nicht ausgewertet.

BEDIT_END

Die Eingabe in dem Control wird überprüft und sofern sie gültig ist übernommen.

Der Returnwert FALSE beendet nicht die Eingabe, sondern setzt sie fort.

BEDIT_CANCEL

Die Eingabe in dem Control wird abgebrochen.

Der Returnwert FALSE bricht die Eingabe nicht ab, sondern setzt sie fort.

BEDIT_COMMIT

Die Eingabe wurde gespeichert. Ein Commit wurde nicht automatisch vom bBrowser durchgeführt. Der Modus kann verwendet werden, um selbst ein Commit auszuführen.

Der Returnwert wird nicht ausgewertet.

BEDIT_HIDE

Das Control für die Eingabe wird ausgeblendet.

Der Returnwert wird nicht ausgewertet.

 

Datentyp:Int

Rückgabewert

lSuccessLogischer Wert der definiert, ob der Eingabemodus korrekt abgearbeitet wurde.
Datentyp:Logic

Beschreibung

bBrowser:CellEdit() ist eine Callback-Methode, die immer dann vom bBrowser aufgerufen wird, wenn der Wert einer Datenzelle eingegeben werden soll. Die Methode überprüft, ob im Owner des bBrowsers eine Methode mit dem gleichen Namen definiert ist und ruft diese gegebenenfalls mit einem bCellEditEvent-Objekt als einziges Argument auf.

 

Der gesamte Eingabevorgang für einen Spaltenwert ist in 5 Schritte unterteilt. Für jeden einzelnen Schritt ruft der Browser die Methode CellEdit() mit dem entsprechenden Eingabemodus auf. Der Owner des Browsers kann durch die Definition einer eigenen CellEdit()-Methode auf diese Eingabemodi reagieren.

Beispiele

Das folgende Beispiel zeigt die Definition einer eigenen CellEdit()-Methode im Owner des Browsers. Diese wird automatisch vom Browser aufgerufen.

 

METHOD CellEdit(oCellEditEvent) CLASS DataWindow

 // Eingabemodus auswerten

 LOCAL oFS   AS FieldSpec

 LOCAL cText AS STRING

 

 IF oCellEditEvent:EditMode=BEDIT_CREATE

         IF oCellEditEvent:EditCell:Column=1 .and. oCellEditEvent:EditCell:Row=2

                 // Zeile 2 in der ersten Spalte darf nicht verändert werden

                 // -> Durch die Rückgabe von FALSE wird die Eingabe nicht erlaubt.

                 RETURN FALSE

         ENDIF

 ELSEIF oCellEditEvent:EditMode=BEDIT_INIT

         // Für die 3. Spalte wird eine Mindesteingabelänge gesetzt.

         IF oCellEditEvent:EditCell:Column=3

                 oFS := oCellEditEvent:EditControl:FieldSpec

                 oFS:SetMinLength(4, HyperLabel{"Spalte 3", ,"Der Wert muss aus mindestens 4 Zeichen bestehen."})

         ENDIF

 ELSEIF oCellEditEvent:EditMode=BEDIT_END

         // Leereingaben verbieten

         // -> Durch die Rückgabe von FALSE wird die Eingabe

         //    nicht beendet sondern fortgesetzt

         cText := oCellEditEvent:EditControl:TextValue

         oCellEditEvent:EditControl:TextValue := RTrim(UPPER(cText))

         IF EMPTY(oCellEditEvent:EditControl:TextValue)

                 RETURN FALSE

         ENDIF

 ELSEIF oCellEditEvent:EditMode=BEDIT_COMMIT

         // Commit ausführen

         // -> Dies wird von manchen Datenservern erwartet

         //    (BufferedServer !?)

         oCellEditEvent:Control:Server:Commit()

 ENDIF

 RETURN TRUE

Siehe auch

bBrowser:Edit()

bBrowser:EditCancel()

bBrowser:EditClose()

bCellEditEvent

bSample - Edit

 


Page url: http://www.YOURSERVER.com/index.html?bbrowser_celledit.htm