[gelöst] Spalte einer TableBox zur Laufzeit auszublenden

20. Juni 2006 08:53

Hallo!

Bin neu hier. 36 Jahre alt, aus dem Norden in den Süden gezogen und seit Februar dieses Jahres erstmals auch beruflich in Berührung mit Navision als Programmierer.

Ursprünglich aus der Technik kommend hab ich natürlich noch nicht mal ansatzweise alles von Navision verstanden und kann so auch gleich mal eine kleine Hilfe gebrauchen. Ich programmiere gerade ein kleines Management-Info-System, welches alle wichtigen Unternehmensdaten in einer einzigen geschäftsführertauglichen :wink: Tabelle darstellt.

Ich möchte dort nun zur Laufzeit bei dieser etwas zu umfangreichen Tabelle (zu vielen Spalten), Gruppen von Spalten nach Benutzerauswahl zur Laufzeit ein/bzw. ausblenden.

Leider bin ich mit

CurrForm.TableBoxSpaltenName.VISIBLE:=FALSE;

ziemlich erfolglos geblieben. Natürlich habe ich der Spalte einen Namen gegeben, und führe diesen Befehl auch in OnAfterGetRecord() aus. Es gibt keine Fehlermeldung - nur tuts halt auch nix.

Weiss ich jetzt nicht, ob es in Navision 4 nicht geht, oder ob ich was übersehen hab.

Vielleicht weiss ja jemand von Euch weiter, vielen Dank erstmal schon im voraus,

Peter


[Edit by Admin: Titeltext umgestellt, da er das Layout der Portalseite zerreißt.]
Zuletzt geändert von eppich am 21. Juni 2006 13:01, insgesamt 1-mal geändert.

20. Juni 2006 09:40

Warum so umständlich?
Der Benutzer kann sich doch selbständig die Spalten aus- und wieder einblenden.
Sinn macht das Programmtechnisch eigentlich nur, wenn mit einem Knopfdruck gleich mehrere Felder verschwinden und dafür andere auftauchen sollen.
Dann baust du aber eine Taste oder ein Optionsfeld oder Radiobuttons ein, in deren OnPush-Trigger die Befehle ...visible:= ausgeführt werden.
Der onaftegetrecord ist dafür in einer Tablebox nicht geeignet.... weil dieser Trigger für jede Zeile aufgerufen wird.

20. Juni 2006 10:20

Wenn Userabhängig Spalten ausgeblendet werden sollen, muss die Anweisung in den OnOpenForm Trigger. Am besten dazu die "Member Of" Tabelle abfragen, ggf. können neue Rollen angelegt werden mit "Sichtrechten"

20. Juni 2006 11:04

Danke für die Hilfe.

Nein, es ging mir nicht um "Sichtrechte" sondern darum, dass ich dem User ersparen möchte sich einzelne Spalten auszuwählen. Je nachdem ob ihn die Umsätze, Deckungsbeiträge, Provisionen etc. gerade interessieren, soll er jeweils eine GRUPPE von 5-8 Spalten angezeigt oder ausgeblendet bekommen.

Ich habe dafür Check-Boxen mit dem onPusch() Trigger benutzt. OnAfterGetRecord war ein Versuch...

Merkwürdigerweise hat NAV aber nicht auf den onPush() reagiert. Jetzt klappt es nach einem neuen Versuch. Ich vermute ich war zu doof und hatte nur die Namen der Spalten verwechselt - und dass 1 Arbeitstag lang nicht bemerkt. *plonk* :cry: :cry: :cry: :cry:

Danke nochmal - Peter