SharePointCommunity
Die deutschsprachige Community für SharePoint, Microsoft 365, Teams, Yammer und mit Azure

Sponsored by

Willkommen im Forum Archiv.
Einträge sind hier nicht mehr möglich, aber der Bestand von 12 Jahren SharePoint-Wissen ist hier recherchierbar.




Ansicht "leerzeilen" ausblenden

Unbeantwortet Dieser Beitrag hat 3 Antworten

Ohne Rang
18 Beiträge
AlexHowser erstellt 13 Apr. 2017 10:55
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hallo! Ich arbeite derzeit daran, eine Tabelle mit Spaltenberechtigungen zu versehen. http://www.boostsolutions.com/de/columnpermission-tutorial.html

Dabei stellt sich folgende Problematik:

Benutzer die für eine gewisse Spalte nicht berechtig sind, erhalten dennoch die entsprechende Zeile in der Ansicht, allerdings lediglich mit einem Titel versehen (Keine sonstigen Werte). Daher stellt sich mir die Frage ob es möglich ist die View derart anzupassen (js), damit lediglich Zeilen mit Werten dargestellt werden (Prüfung auf alle dargestellten Spalten leer, bis auf die Titelspalte). 

Die Möglichkeit für jede Berechtigung eigene Ansichten zu erstellen würde ich gerne als letzte Option sehen, da dies zu einer Menge an Ansichten und einer Komplizierten Verwaltung der Berechtigungen führen würde.

Hatte schon jemand mit einer solchen Problemstellung zu tun?

Die Problematik beginnt für mich schon beim ansprechbar machen der Zeilen/Felder, da kein <td> mit einer id versehen ist. <td class="ms-cellstyle ms-vb2" role="gridcell" aria-selected="false" style='text-align: left; color: rgb(68, 68, 68); font-family: "Segoe UI","Segoe",Tahoma,Helvetica,Arial,sans-serif; font-size: 13px; font-style: normal; font-weight: 400; vertical-align: middle; border-right-color: rgb(198, 198, 198); border-bottom-color: rgb(198, 198, 198); border-right-width: 1px; border-bottom-width: 1px; border-right-style: solid; border-bottom-style: solid;'><span>2000</span></td>

hat jemand einen Ansatz?

 

Gruß,
Alex 

Alle Antworten

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 13 Apr. 2017 16:41
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

[quote user="AlexHowser"]Spaltenberechtigungen [/quote]

Mal vorweg: von solchen Lösungen halte ich nichts. So sehr man das Feature ab und an vermißt, es wird von Microsoft einfach nicht unterstützt, so daß man immer Full Trust Farm Solutions von Drittanbietern braucht mit den üblichen Problemen wie Migrationsfähigkeit, Cloud-Readiness, usw. Und natürlich solche Probleme wie von Dir beschrieben. Bis jetzt habe ich immer eine Lösung gefunden, das zu umgehen.

Nichtsdestotrotz, was hindert Dich daran, alle Zeilen durchzugehen und alle, bei denen die entsprechenden Spalten keine Werte enthalten auszublenden? jQuery kann Dir dabei sicher helfen. Fertigen Code kann ich Dir nicht liefern, aber ungefähr so:

$("tr[role='row']").each(function() {
var hastext=false;
$(this).find("td").each(function() {
if ($(this).text()) {
hastext = true;
}
});
if (!hastext) {
$(this).hide();
}
});

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
18 Beiträge
AlexHowser Als Antwort am 18 Apr. 2017 16:43
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Danke für den Input! Ja du hast Recht, Drittanbieter Lösungen sind nicht das sauberste und mit Sicherheit auch nicht billig.. Allerdings sehe ich keine andere Möglichkeit um Benutzern entsprechend dem Inhalt einer Spalte bestimmte Zeilen der Liste anzeigen zu lassen.. (Wir sprechen hier von ca 1000 Kostenstellen und hunderten von Benutzern, also kommt eine Erzeugung individueller Ansichten nicht in Frage). Zwar bietet der Webpart für Inhaltsabfragen die Möglichkeit nach Zielgruppen zu Filtern, nur müsste dann diese für jeden Eintrag in der Tabelle explizit angegeben werden, was auch wieder zu kompliziert wäre. Außerdem ist er sehr limitiert in der Anzeige. Leider scheint es hier, wie so oft bei SP keine befriedigende Lösung mit Hausmitteln zu geben :/

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 18 Apr. 2017 16:56
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Ich würde sowas ganz anders angehen. Für jede "Gruppe" (Abteilung, Team, ...) eine eigene Website(sammlung) mit entsprechenden Rechten. Dort werden jeweils nur die Daten gepflegt, für die diese Gruppe verantwortlich ist. Anzeige an zentraler Stelle dann mit Hilfe der Suche, die automatisch Benutzerrechte berücksichtigt, d.h. jeder sieht nur das, was ihn auch angeht.

Klingt für Euch jetzt vielleicht revolutionär, ist aber genau die richtige Vorgehensweise für viele derartige Probleme. Einfach mit Bordmitteln umsetzbar :-)

Viele Grüße
Andi
af @ evocom de
Blog