enablen eines bestimmten SLE's in einer Liste....
Moderator: Moderatoren
- mini990
- 1000 working lines a day
- Beiträge: 592
- Registriert: Sa, 28. Jan 2006 9:44
- Wohnort: Berg-Richtheim bei Neumarkt i.d.Opf.
- Danksagung erhalten: 1 Mal
enablen eines bestimmten SLE's in einer Liste....
Hallo,
ich habe eine Reihe von SLE's (Datenbankeditierfelder).
Wenn ich die SLE's aktiviere ist immer das zuletzt angelegte SLE aktiv.
Es soll aber das "erste" aktiv sein.
Nun könnte ich ja einfach das erste SLE im Quellcode als letztes aktivieren möchte dies jedoch aufgrund der Lesbarkeit des Quellcodes vermeiden.
Ich habe irgendwo mal eine Möglichkeit gesehen den Focus auf ein bestimmtes SLE zu setzen, finde die Stelle jedoch leider nicht mehr.
Hat jemand die Lösung noch "im Kopf"?
danke im voraus
Gruß Stefan
ich habe eine Reihe von SLE's (Datenbankeditierfelder).
Wenn ich die SLE's aktiviere ist immer das zuletzt angelegte SLE aktiv.
Es soll aber das "erste" aktiv sein.
Nun könnte ich ja einfach das erste SLE im Quellcode als letztes aktivieren möchte dies jedoch aufgrund der Lesbarkeit des Quellcodes vermeiden.
Ich habe irgendwo mal eine Möglichkeit gesehen den Focus auf ein bestimmtes SLE zu setzen, finde die Stelle jedoch leider nicht mehr.
Hat jemand die Lösung noch "im Kopf"?
danke im voraus
Gruß Stefan
- Martin Altmann
- Foren-Administrator
- Beiträge: 16516
- Registriert: Fr, 23. Sep 2005 4:58
- Wohnort: Berlin
- Hat sich bedankt: 111 Mal
- Danksagung erhalten: 48 Mal
- Kontaktdaten:
Hallo Stefan,
ich denke mal, Du hast für jedes SLE die selbe Variable - Du musst aber für jedes SLE eine andere nehmen, dann klappt das auch!
Oder Du nutzt statt dessen die entsprechenden Getlist-Einträge.
Bsp.:
Das Beispiel nutzt zwar XClass++ von DS-Datasoft, aber das Prinzip ist hoffentlich klar.
Ich kann also nach den entsprechenden :create()s entweder mit ::Zeile1:Disable() arbeiten oder mit ::editcontrols[1]isable() - ist dann das gleiche.
Viele Grüße,
Martin
ich denke mal, Du hast für jedes SLE die selbe Variable - Du musst aber für jedes SLE eine andere nehmen, dann klappt das auch!
Oder Du nutzt statt dessen die entsprechenden Getlist-Einträge.
Bsp.:
Code: Alles auswählen
::Zeile1 := dsSLE():new( ::drawingArea,, { 76, 368 }, { 560, 14 } )
::Zeile1:bufferLength := 70
::Zeile1:tabStop := .T.
::Zeile1:autoTab := .T.
::Zeile1:border := .F.
::Zeile1:EnableFocusFrame( .f. )
::Zeile1:dataLink := {|x| IIf( PCOUNT()==0, (::dbSelect)->ZEILE1, (::dbSelect)->ZEILE1 := x ) }
::Zeile1:SetData()
::Zeile1:SetFocus()
aadd( ::editControls, ::Zeile1 )
::Zeile2 := dsSLE():new( ::drawingArea,, { 76, 355 }, { 560, 14 } )
::Zeile2:bufferLength := 70
::Zeile2:tabStop := .T.
::Zeile2:autoTab := .T.
::Zeile2:border := .F.
::Zeile2:EnableFocusFrame( .f. )
::Zeile2:dataLink := {|x| IIf( PCOUNT()==0, (::dbSelect)->ZEILE2, (::dbSelect)->ZEILE2 := x ) }
::Zeile2:SetData()
aadd( ::editControls, ::Zeile2 )
Ich kann also nach den entsprechenden :create()s entweder mit ::Zeile1:Disable() arbeiten oder mit ::editcontrols[1]isable() - ist dann das gleiche.
Viele Grüße,
Martin
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/
Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
- Martin Altmann
- Foren-Administrator
- Beiträge: 16516
- Registriert: Fr, 23. Sep 2005 4:58
- Wohnort: Berlin
- Hat sich bedankt: 111 Mal
- Danksagung erhalten: 48 Mal
- Kontaktdaten:
Hallo Stefan,
vielleicht habe ich Deine Frage ja auch falsch verstanden?
Meinst Du mit aktivieren "den Fokus haben"?
Wenn ja, dann bekommst Du das hin mit SetAppFocus( Name_des_SLE-Objektes )
Viele Grüße,
Martin
vielleicht habe ich Deine Frage ja auch falsch verstanden?
Meinst Du mit aktivieren "den Fokus haben"?
Wenn ja, dann bekommst Du das hin mit SetAppFocus( Name_des_SLE-Objektes )
Viele Grüße,
Martin
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/
Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
- Martin Altmann
- Foren-Administrator
- Beiträge: 16516
- Registriert: Fr, 23. Sep 2005 4:58
- Wohnort: Berlin
- Hat sich bedankt: 111 Mal
- Danksagung erhalten: 48 Mal
- Kontaktdaten:
Hallo Stefan,
das kann nicht sein! Es sei denn (wie oben bereits geschrieben), Du nimmst für alle SLEs die selbe Variable! Dann musst Du entweder den entsprechenden ::editcontrols-Eintrag nehmen oder für jeden SLE eine andere Variable.
Zeige doch mal bitte ein wenig Deines Codes....
Viele Grüße,
Martin
das kann nicht sein! Es sei denn (wie oben bereits geschrieben), Du nimmst für alle SLEs die selbe Variable! Dann musst Du entweder den entsprechenden ::editcontrols-Eintrag nehmen oder für jeden SLE eine andere Variable.
Zeige doch mal bitte ein wenig Deines Codes....
Viele Grüße,
Martin
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/
Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
- brandelh
- Foren-Moderator
- Beiträge: 15696
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 66 Mal
- Danksagung erhalten: 33 Mal
- Kontaktdaten:
Hallo mini990,
du nutzt sicher den Function-code des XppFD, wenn du mal ein Beispiel im ClassCode erzeugst, wirst du feststellen, dass jedes Xbp einen eigenen namen hat:
in INIT
::name := XbpSLE():new()....
::name:tabStop := .t.
...
::vorname := XbpSLE():new()....
...
::Strasse := XbpSLE():new()....
...
hier ist die Reihenfolge der Eingabe noch völlig unbedeutend, aber :
in create ...
::name:create()
::vorname:create()
::Strasse:create()
entscheidet die Reihenfolge über:
1. das erste aktive Control (erstes angelegtes Xbp mit xxx:tabStop := .t.
2. die TAB Reihenfolge
Im functional Code geht das alles nicht direkt, da dort
statt eindeutiger namen nur immer oXbp wiederverwendet wird.
Das 1. Element kannst du ja noch finden, aber wenn du z.B. zum Feld Strasse springen willst, zur Zeit das 3. Element (nein bestimmt sind noch FT dazwischen ...). Und was wenn ein neues Feld dazwischen kommt ?
Du kannst sicherlich irgendwie das heraussuchen, aber der Class Code ist viel einfacher.
du nutzt sicher den Function-code des XppFD, wenn du mal ein Beispiel im ClassCode erzeugst, wirst du feststellen, dass jedes Xbp einen eigenen namen hat:
in INIT
::name := XbpSLE():new()....
::name:tabStop := .t.
...
::vorname := XbpSLE():new()....
...
::Strasse := XbpSLE():new()....
...
hier ist die Reihenfolge der Eingabe noch völlig unbedeutend, aber :
in create ...
::name:create()
::vorname:create()
::Strasse:create()
entscheidet die Reihenfolge über:
1. das erste aktive Control (erstes angelegtes Xbp mit xxx:tabStop := .t.
2. die TAB Reihenfolge
Im functional Code geht das alles nicht direkt, da dort
statt eindeutiger namen nur immer oXbp wiederverwendet wird.
Das 1. Element kannst du ja noch finden, aber wenn du z.B. zum Feld Strasse springen willst, zur Zeit das 3. Element (nein bestimmt sind noch FT dazwischen ...). Und was wenn ein neues Feld dazwischen kommt ?
Du kannst sicherlich irgendwie das heraussuchen, aber der Class Code ist viel einfacher.
Gruß
Hubert
Hubert
- Martin Altmann
- Foren-Administrator
- Beiträge: 16516
- Registriert: Fr, 23. Sep 2005 4:58
- Wohnort: Berlin
- Hat sich bedankt: 111 Mal
- Danksagung erhalten: 48 Mal
- Kontaktdaten:
Hallo Hubert,
Viele Grüße,
Martin
vielen Dank - den Unterschied kannte ich noch nicht! Ich habe nämlich immer den Class-Code erstellen lassen und mich nie mit dem Function-Code rumgeärgert...brandelh hat geschrieben:du nutzt sicher den Function-code des XppFD, wenn du mal ein Beispiel im ClassCode erzeugst, wirst du feststellen, dass jedes Xbp einen eigenen namen hat:
Viele Grüße,
Martin
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/
Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.