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.




Listenelemente auslesen

Unbeantwortet Dieser Beitrag hat 7 Antworten

Ohne Rang
32 Beiträge
Mathias P. erstellt 8 Feb. 2012 16:17
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Guten Tag,

für eine Websitevorlage benötige ich eine Möglichkeit einzelne Listenelemente auszulesen.

Diese Elemente sollen dann auf der Startseite in einer html(aspx) Tabelle angezeigt werden.
Grundsätzlich sollte es ja wie hier beschrieben funktionieren: http://msdn.microsoft.com/de-de/library/ff521580.aspx

Als passendes Beispiel würde ich diesen Abschnitt hier benötigen:

using (SPSite siteCol = new SPSite("http://server/sites/Contoso"))
{
    using (SPWeb web = siteCol.RootWeb)
    {
        SPList list = web.GetList("/sites/Contoso/Lists/Books");
        
        SPListItem item = list.GetItemByIdSelectedFields(3, "Title", "ISBN", "Retail_x0020_Price");
    }
}

Was ich derzeit habe:
Eine Liste mit 2 Spalten: Type / Name
Eine html Tabelle mit den Spalten Type / Name
Somit soll in der Html Tabelle das passende Element "Name" zum Typ "Type" angezeigt werden.
Dies soll geschehen, da wir die Listen miteinander synchronisieren werden, und somit der Eintrag nur auf einem SharePoint Server geändert werden muss.
Ist es Möglich aus einer html/aspx ein Feld einer Liste auszulesen? Wenn ja, wo muss ich die obige Programmierung einfügen, damit dies geht?

Alle Antworten

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 8 Feb. 2012 16:31
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Es gibt zwei Möglichkeiten sowas zu machen:

- per JavaScript und Client Object Model

- man entwickelt ein eigenes Webpart mit Visual Studio und C# (oder VB.NET)

Aber vielleicht reicht es Dir schon, wenn Du das Webpart der Liste auf der Seite einfügst?

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
32 Beiträge
Mathias P. Als Antwort am 8 Feb. 2012 16:39
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Leider reicht das nicht ganz, da hier das Design noch wichtig ist, zusätzlich sollen ein paar Überschriften für einzelne Zeilen eingefügt werden. Eine Idee war es noch, einen neuen View zu erstellen, den ich dann einfach per Designer so bearbeite, dass es so aussieht wie die vorgegebene Tabelle. Allerdings war ich hier sehr schnell verloren, da ich im Designer die einzelnen Zeilen nicht anzeigen konnte.

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 8 Feb. 2012 16:49
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Das würde ich aber wirklich mit dem Designer machen - setzt aber voraus, daß Du XSLT verstehst und anpassen kannst. Wenn Du die Ansicht im Designer markierst, gibt es oben einen Button "XSLT anpassen - gesamte Ansicht".

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
32 Beiträge
Mathias P. Als Antwort am 9 Feb. 2012 10:42
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Guten Morgen,

vielen Dank für die rasche Hilfe. Ich komme mit dem bearbeiten ganz gut klar, im Endeffekt müssen nur ein paar Spaltenfaben definiert werden, sowie die breite, das ist noch ganz trivial. In der Liste selber http://sharepoint/seite/list/Uebersicht/info.aspx wird das auch schön übernommen.

Allerdings ändert sich am Webpart nichts, obwohl dieses ja den View "info.aspx" nutzt. Müssen die Programmierung für das Webpart direkt auf der Hauptseite, auf der das Webpart dann angezeigt wird, gemacht werden?

Ok, das Design muss einfach in der homepage.aspx angepasst werden. Jetzt habe ich noch das Problem, dass in der Vorschau immer nur 5 Zeilen angezeigt werden, und darunter nur das Icon "1-5" drin steht. Gibt es hier noch eine Möglichkeit, dass direkt alle Felder (bzw. die komplette Liste) angzeigt werden kann?

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 9 Feb. 2012 11:11
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

[quote user="Mathias P."]Jetzt habe ich noch das Problem, dass in der Vorschau immer nur 5 Zeilen angezeigt werden[/quote]

Ich wüßte nicht, wie man die Vorschau in SharePoint Designer beeinflussen kann. Aber man kann ja immer mal schnell Strg+S und dann im Browser F5 drücken...

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
32 Beiträge
Mathias P. Als Antwort am 9 Feb. 2012 11:14
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Das mache ich ja auch,

das problem ist nur das ich zwischen Feld 7 und 8 ne weitere einfaceh Zeile einfügen muss (dient als Überschrift für die einzelnen Einträge)

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 9 Feb. 2012 12:17
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Du willst manuell eingefügte Zeilen zwischen den SharePoint-Zeilen? Dann suche im XSL sowas wie <xsl:for-each select="$Rows" (oder ähnlich). Danach kannst Du so prüfen, um welche Zeile es sich handelt und entsprechend reagieren:
<xsl:if test="position()=7">
hier handelt es sich um die 7. Zeile und Du kannst eine weitere einfügen.
</xsl:if>

Viele Grüße
Andi
af @ evocom de
Blog