CellEditing in DcBrowse()

Moderator: Moderatoren

Antworten
Peter Schweizer
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 153
Registriert: Do, 06. Apr 2006 10:51
Danksagung erhalten: 3 Mal

CellEditing in DcBrowse()

Beitrag von Peter Schweizer »

Hallo Wissende ,
ich versuche ein CellEdit in einem DCBROWSE in den Griff zu bekommen.
Habe ein Array aBezahl[6,2] und möchte in der 1.sten Spalte ein spezielles CellEditing einrichten.
Abhängig vom Rückgabewert der Fkt PreArrEdit() soll editieren erlaubt/verboten werden.
(Fkt liefert .T. für erlauben)

Wenn ich jetzt die Zelle mit doppelklick oder ENTER anwähle wird zwar die Zelle aufgerufen, sie kann aber nicht editiert werden (siehe angehänge Datei).
Über ESC kann die Zelle wieder verlassen werden.

Code: Alles auswählen

	@ 1,1 DCBROWSE oZahlart;
		DATA aBezahl;
		POINTER nPointer;
		EDIT xbeBRW_ItemSelected MODE DCGUI_BROWSE_EDITEXIT

 	DCBROWSECOL ELEMENT 1 WIDTH 6 HEADER 'EUR' PICTURE '9999.99' OBJECT oElem1 PARENT oZahlart EDITOR 'Spalte1'
 	DCBROWSECOL ELEMENT 2 WIDTH 6 HEADER 'FR'  PICTURE '9999.99' OBJECT oElem2 PARENT oZahlart
	
	@ NIL,NIL DCGET xNil PICT '9999.99' GETID 'Spalte1';
				EDITPROTECT {|| PreArrEdit()};
				LOSTFOCUS {|| PostArrEdit()}
Hat jemand eine Idee was ich da falsch mache ?
Grüße Peter
Dateianhänge
Zelle hat nur Focus (edit noch nicht eingeleitet)
Zelle hat nur Focus (edit noch nicht eingeleitet)
zelle mit focus.jpg (10.87 KiB) 2697 mal betrachtet
edit über Enter eineleitet  (geht nicht)
edit über Enter eineleitet (geht nicht)
zelle.jpg (5.93 KiB) 2697 mal betrachtet
Gruss Peter
Benutzeravatar
Wolfgang Ciriack
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2932
Registriert: Sa, 24. Sep 2005 9:37
Wohnort: Berlin
Hat sich bedankt: 13 Mal
Danksagung erhalten: 34 Mal
Kontaktdaten:

Re: CellEditing in DcBrowse()

Beitrag von Wolfgang Ciriack »

War im Urlaub, daher erst jetzt eine Antwort.
Du must in deiner Funktion .F. für Erlauben zurückliefern (ergibst dann EDITPROTECT {|| .F. }). Etwas anders als bei WHEN :D
Viele Grüße
Wolfgang
Antworten