WD26 Databinding in Table + bestimmte Zeilen hervorheben / Row specific hightlighting
-
- Junior Member
- Beiträge: 4
- Registriert: 19. Dezember 2022, 16:21
WD26 Databinding in Table + bestimmte Zeilen hervorheben / Row specific hightlighting
Windev 26
Ich nutze Databinding in einer Tabelle. Leider kann ich im Event "Display a row of TABLE..." nicht einzelne Zeilen hervorheben, also z.B. FontUnderlined nutzen. Also überlege ich, was ich stattdessen machen kann. Gibt es die Möglichkeit einen Tooltipp abhängig von der gewählten Zeile anzuzeigen, oder fäll euch was anderes ein? Unten hab ich ein paar Zeilen Code und ihre Auswirkungen
I am using data binding in a table. Unfortunately, i can't find a way in the event "Display a row of TABLE..." to adress row-specific values like FontUnderlined, etc. So I'm thinking of other ways to hightlight some rows, for example hovering a table row -> row specific tool tip. Can you think of an solution?
in "Display a row of TABLE_Objects"
TABLE_Objects.COL_Type = "ABC" -> works
TABLE_Objects.COL_Type.FontUnderlined = True -> changes whole row
TABLE_Objects[TABLE_Objects].COL_Type.FontUnderlined = True -> crashes (can't convert Databinding object type to int)
Ich nutze Databinding in einer Tabelle. Leider kann ich im Event "Display a row of TABLE..." nicht einzelne Zeilen hervorheben, also z.B. FontUnderlined nutzen. Also überlege ich, was ich stattdessen machen kann. Gibt es die Möglichkeit einen Tooltipp abhängig von der gewählten Zeile anzuzeigen, oder fäll euch was anderes ein? Unten hab ich ein paar Zeilen Code und ihre Auswirkungen
I am using data binding in a table. Unfortunately, i can't find a way in the event "Display a row of TABLE..." to adress row-specific values like FontUnderlined, etc. So I'm thinking of other ways to hightlight some rows, for example hovering a table row -> row specific tool tip. Can you think of an solution?
in "Display a row of TABLE_Objects"
TABLE_Objects.COL_Type = "ABC" -> works
TABLE_Objects.COL_Type.FontUnderlined = True -> changes whole row
TABLE_Objects[TABLE_Objects].COL_Type.FontUnderlined = True -> crashes (can't convert Databinding object type to int)
Zuletzt geändert von MiellesMain am 24. Oktober 2023, 09:47, insgesamt 1-mal geändert.
-
- Junior Member
- Beiträge: 4
- Registriert: 19. Dezember 2022, 16:21
Re: Databinding in Table + bestimmte Zeilen hervorheben / Row specific hightlighting
Sorry, deutsch geht selbstverständlich auch. Hab ich mal nachgetragen
Re: WD26 Databinding in Table + bestimmte Zeilen hervorheben / Row specific hightlighting
COL_Type[TABLE_Objects].FontUnderlined = True müsste funktionieren.
-
- Junior Member
- Beiträge: 4
- Registriert: 19. Dezember 2022, 16:21
Re: WD26 Databinding in Table + bestimmte Zeilen hervorheben / Row specific hightlighting
Nein, das hilft nicht. Gleiches Problem mit dem Databinding
-
- Site Admin
- Beiträge: 529
- Registriert: 23. Februar 2010, 08:06
- Wohnort: Langenthal, Schweiz
- Kontaktdaten:
Re: WD26 Databinding in Table + bestimmte Zeilen hervorheben / Row specific hightlighting
Bestimmte Bedingungen kannst du der Eigenschaft der Spalte angeben, so auch Font und Farbe.
Einfaches Beispiel (im Init der Spalte):
Die Spalte weiss nun, was bei welchem Wert in der einzelnen Zelle geschehen soll. Müsste übertragbar wein auch Fontverhalten usw.
Einfaches Beispiel (im Init der Spalte):
Code: Alles auswählen
SWITCH TABLE_Liste.COL_TYP..Value
CASE 2
TABLE_Liste.COL_TYP..Color = LightRed
CASE 3
TABLE_Liste.COL_TYP..Color = DarkGreen
CASE 4
TABLE_Liste.COL_TYP..Color = LightOrange
OTHER CASE
TABLE_Liste.COL_TYP..Color = LightBlue
END
-
- Senior Member
- Beiträge: 312
- Registriert: 24. September 2015, 10:05
- Wohnort: Biberbach, Austria
- Kontaktdaten:
Re: WD26 Databinding in Table + bestimmte Zeilen hervorheben / Row specific hightlighting
IMHO ist "Initialization of Table_* " der Spalte der falsche Ort. Der Wert kann sich ja nach dem aktualisieren ändern. Ich verwende dazu "Display a in Table_ *". Da funktioniert der folgender Code einwandfrei:
Code: Alles auswählen
i is int = TABLE_Frachtpreis
SWITCH TABLE_Frachtpreis.COL_Verkaufspreis[i].Value
CASE > 0
TABLE_Frachtpreis.COL_Verkaufspreis[i].Color = DarkBlue
TABLE_Frachtpreis.COL_Verkaufspreis[i].FontUnderlined = False
CASE < 0
TABLE_Frachtpreis.COL_Verkaufspreis[i].Color = LightRed
TABLE_Frachtpreis.COL_Verkaufspreis[i].FontUnderlined = True
OTHER CASE
END
-
- Site Admin
- Beiträge: 529
- Registriert: 23. Februar 2010, 08:06
- Wohnort: Langenthal, Schweiz
- Kontaktdaten:
Re: WD26 Databinding in Table + bestimmte Zeilen hervorheben / Row specific hightlighting
Interessant. Dein Vorschlag erscheint mir besser. Zeigt denselben Effekt.
Falls das nicht klappt, nachträglich durch die Tabelle gehen oder nur die aktuell bekannte Linie ändern:
mit nl der aktuellen Linie.
Falls das nicht klappt, nachträglich durch die Tabelle gehen oder nur die aktuell bekannte Linie ändern:
Code: Alles auswählen
TABLE_LISTE[nl][3].color = LightRed
-
- Senior Member
- Beiträge: 312
- Registriert: 24. September 2015, 10:05
- Wohnort: Biberbach, Austria
- Kontaktdaten:
Re: WD26 Databinding in Table + bestimmte Zeilen hervorheben / Row specific hightlighting
"Display a in Table" wird halt bei jeder Aktualisierung aufgerufen, egal ob der Datensatz gerade in der Table editiert wurde oder du ein DisplayTable() via taStart, taInit, taReExecuteQuery oder ähnlich aufrufst. Bei mir hats nur in "Display a in Table" richtig funktioniert.