Site Announcements

Liebe Gäste des Forums, wir freuen uns, dass ihr zu uns gelangt seid.
Windev ist eine sehr umfangreiche und starke Entwicklerumgebung für Anwendungen unter Windows, Linux und Internetapplikationen inkl. Mobile.
Hier sind Antworten und Anregungen dazu zu finden!
Möchtest du aktiv mitschreiben? Dann melde dich durch Klick auf den Text "Registrieren" hier rechts oberhalb an.

Looper: Control Zeilenweise unsichtbar machen

Übergeordnete Themen zum gesamten Paket passend

Looper: Control Zeilenweise unsichtbar machen

Beitragvon satmax » 24. Oktober 2016, 14:54

Ich möchte in einem Looper-Control, abhängig von den Daten, in einzelnen Looperzellen eine Checkbox anzeigen/verstecken. Ist das überhaupt möglich?
Aus einem Beispielprogramm:

IF MySource.Photo = "" THEN ATT_FIRSTNAME += "!"

Funktioniert einwandfrei, kein Foto dann wird dem Vornamen ein ! angehängt.

Aber das "Control" STC_FIRSTNAME kann ich nicht in Abhängigkeit der Daten verstecken, so zB.:
IF MySource.Photo = "" THEN MySelf.STC_FIRSTNAME..Visible=False

Kann man das überhaupt?
satmax
Member
 
Beiträge: 165
Registriert: 24. September 2015, 10:05
Wohnort: Biberbach, Austria
Has thanked: 0 time
Have thanks: 1 time

Re: Looper: Control Zeilenweise unsichtbar machen

Beitragvon Herbert » 24. Oktober 2016, 15:10

Ich glaube, das geht wahrscheinlich nur bei einem Browser-Looper. Da brauchst die Daten aus einem Query oder Datenfile. So kannst du den Slot "Filtering the records" verwenden.
Herbert
Site Admin
 
Beiträge: 357
Registriert: 23. Februar 2010, 08:06
Wohnort: Langenthal, Schweiz
Has thanked: 5 times
Have thanks: 3 times

Re: Looper: Control Zeilenweise unsichtbar machen

Beitragvon satmax » 24. Oktober 2016, 15:19

In meinem Fall ist es ein Browser Looper, leider verstehe ich den folgenden Satz nicht...

>> So kannst du den Slot "Filtering the records" verwenden.

Wie soll ich damit ein Control verstecken?
satmax
Member
 
Beiträge: 165
Registriert: 24. September 2015, 10:05
Wohnort: Biberbach, Austria
Has thanked: 0 time
Have thanks: 1 time

Re: Looper: Control Zeilenweise unsichtbar machen

Beitragvon Herbert » 24. Oktober 2016, 15:48

Ich verstehe dich wohl nicht genau. Gibst dort ein false zurück, wird nicht angezeigt.
Falls du aber ein einziges Element daraus ausblenden willst, ist dies nicht der Weg... einzig du versuchst dort auf das Control ein ..visible=false zu setzen
Herbert
Site Admin
 
Beiträge: 357
Registriert: 23. Februar 2010, 08:06
Wohnort: Langenthal, Schweiz
Has thanked: 5 times
Have thanks: 3 times

Re: Looper: Control Zeilenweise unsichtbar machen

Beitragvon satmax » 24. Oktober 2016, 19:10

Ich setzte das Control auf false, wenn ich dann aber über den Bildschirmrand scrolle greift das false nicht mehr, oder es wird das Control in keiner Zeile mehr angezeigt. Die Daten sind kein Problem, aber das Control lässt sich nicht verstecken. Muss ich wohl anders lösen.
satmax
Member
 
Beiträge: 165
Registriert: 24. September 2015, 10:05
Wohnort: Biberbach, Austria
Has thanked: 0 time
Have thanks: 1 time

Re: Looper: Control Zeilenweise unsichtbar machen

Beitragvon Lewi » 25. Oktober 2016, 13:23

Hallo,

hier eine Lösung auf Basis des Demo-Beispiels "LOOPER" in WinDev:


Code: Alles auswählen
>>im Abschnitt ->DISPLAYING a ROW of LOOPORDER
IF LOOPORDER[LOOPORDER][4] = 0 THEN
   LOOPORDER[LOOPORDER].CBOXINSTOCK..Visible=False
END


Gruß Olaf
Lewi
Member
 
Beiträge: 74
Registriert: 3. September 2010, 14:45
Wohnort: Hamburg
Has thanked: 0 time
Have thanks: 1 time

Re: Looper: Control Zeilenweise unsichtbar machen

Beitragvon satmax » 26. Oktober 2016, 17:17

Hallo Olav,

versuche mal:
Code: Alles auswählen
// im Abschnitt ->DISPLAYING a ROW of LOOPORDER
nPrice is numeric = LOOPORDER[LOOPORDER][3]

// IF LOOPORDER[LOOPORDER][4] = 0 THEN
IF  nPrice < 1000
   LOOPORDER[LOOPORDER].CBOXINSTOCK..Visible=False
END


Dann wird keine einzige Checkbox angezeigt, obwohl einige mit Preis > 999 vorhanden sind.
satmax
Member
 
Beiträge: 165
Registriert: 24. September 2015, 10:05
Wohnort: Biberbach, Austria
Has thanked: 0 time
Have thanks: 1 time

Re: Looper: Control Zeilenweise unsichtbar machen

Beitragvon Lewi » 26. Oktober 2016, 18:55

Die Fehlerursache liegt daran, dass in diesem Beispiel die Werte als STRING erzeugt werden ( in der Funktion "FillLoope").
Insofern kann Dein Code auch nicht funktionieren. ;-)
Lewi
Member
 
Beiträge: 74
Registriert: 3. September 2010, 14:45
Wohnort: Hamburg
Has thanked: 0 time
Have thanks: 1 time

Re: Looper: Control Zeilenweise unsichtbar machen

Beitragvon satmax » 26. Oktober 2016, 19:26

Hast recht, so gehts:
Code: Alles auswählen
// im Abschnitt ->DISPLAYING a ROW of LOOPORDER
nPrice is numeric = Val(NoCharacter(LOOPORDER[LOOPORDER][3],".",sscAll))

IF  nPrice < 1000
   Trace("True")   
   LOOPORDER[LOOPORDER].CBOXINSTOCK..Visible=False
ELSE
   Trace("False")   
END


Was ich nicht ganz verstehe:

LOOPORDER[LOOPORDER]

LOOPORDER ist das Control, [LOOPORDER] ist der aktuelle Index, oder? Ist das so? In der Docu habe ich das so nicht gefunden.
satmax
Member
 
Beiträge: 165
Registriert: 24. September 2015, 10:05
Wohnort: Biberbach, Austria
Has thanked: 0 time
Have thanks: 1 time

Re: Looper: Control Zeilenweise unsichtbar machen

Beitragvon Lewi » 26. Oktober 2016, 21:25

Bei
trace( LOOPORDER[LOOPORDER] ) wird die komplete Zeile ausgegeben.
trace(LOOPORDER[LOOPORDER][1] ) wird die erste Spalte der Zeile ausgegeben.
Lewi
Member
 
Beiträge: 74
Registriert: 3. September 2010, 14:45
Wohnort: Hamburg
Has thanked: 0 time
Have thanks: 1 time


Zurück zu Allgemeines

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast

cron