Spalte in Ansicht verbergen

  • hallo zusammen,
    ich könnte mal nen tip gebrauchen. folgendes problem: ich möchte in einer ansicht eine spalte verbergen bzw. für bestimmte user/gruppen anzeigen lassen.


    danke im voraus

  • Hi,


    Spalten kannst Du im Designer, bei der Erstellung der Ansicht, vergbergen. In den Spalteneigenschaften gibt es dafür einen Haken.


    Der Haken an dem Haken ist, das dieser nicht an eine Formel geknüpft ist -> ergo Du must tricksen und fummeln.


    PS: wenn der Wert in der Ansicht nicht angezeigt wird, kann der Nutzer ihn trotzdem über die Dokumenteigenschaften einsehen. Nicht anzeigen bringt also keine Sicherheit ....

    Für jedes Problem gibt es eine einfache Lösung, die es noch schlimmer macht.

  • Hmm, im 6er Designer geht das. Da gibt es die bekannte hide when-Formel. Im 5er hast du tatsächlich gelitten...

    Life is not a journey to the grave with the intention of arriving safely in a pretty and well-preserved body, but rather to skid in broadside, thoroughly used up, totally worn out, and loudly proclaiming "Wow, what a ride!!! :evil:
    Beschleunigung ist, wenn die Tränen der Ergriffenheit waagrecht zum Ohr hin abfliessen - Walter Röhrl

  • versuch doch mal diese Formel für die Spalte anstatt deines Feldes:


    Zitat

    @if(@IsNotMember (@UserRoles;"[DeineRolle]") = true; ""; DeinFeld)


    Die Rolle muß du natürlich in der ACL anlegen und der Gruppe / Person zuweisen ;)

  • Im 6er sollte man dann doch die HideWhen Formel verwenden... Und bei @IsNotMember müssten die Parameter vertauscht werden, soll heissen:


    @IsNotMember("[DeineRolle]"; @UserRoles)


    ... aber das hab ich auch schon öfters verwechselt! ;)

  • Zitat


    Serafim schrieb:


    @IsNotMember("[DeineRolle]"; @UserRoles)


    ... aber das hab ich auch schon öfters verwechselt! ;)


    Nach der Designer Hilfe hast du Recht ;) und ich will da auch nicht widersprechen -grins- aber es funst trotzdem (zumindest im 5er Client)

  • ich denke, dass der Hintergedanke war, dass eine Spaltenformel die @IsMember enthält jedesmal neu berechnet werden muss. Dies ist aus Performancegründen nicht zu empfehlen.... aber unter 5 geht es halt nicht anders :)

  • Zitat


    MPerio schrieb:
    ich denke, dass der Hintergedanke war, dass eine Spaltenformel die @IsMember enthält jedesmal neu berechnet werden muss. Dies ist aus Performancegründen nicht zu empfehlen.... aber unter 5 geht es halt nicht anders :)


    Das ist wohl wahr ;)
    Wenn ich bestimmte Daten verschiedenen usern zeigen will und anderen nicht, hätte ich sicherlich zwei Ansichten erstellt. In der einen nur die Daten die "Alle" sehen dürfen und eine in der auch die zu verbergenden Daten enthalten sind. Und dann hätte ich die Selektion wer was sehen darf auf Ansichtsebene eingestellt.

  • hallo zusammen,


    erstmal vielen dank für eure antworten. ich hab die vorschläge mal ausprobiert, nur irgendwie klappt das nicht wirklich. die rolle hat ich schon, da ich auch in der maske felder damit verberge. nur in der ansicht haut das nicht hin. ich kann im 6.5 designer zwar sagen "spalte verbergen, wenn" nur im 4.6 client zieht das nicht. (hab 6.5 server/client aber auch noch viele 4.6 client´s im einsatz) und als formel @isnotmember ging´s auch nicht. Ich mach es nun über weitere ansichten. trotzdem nochmal vielen dank