Zobrazenie obsahu webovej časti výsledky dotazu do mriežky / Tabuľka

Prehľad a cieľ

Po vybalení z krabice, MACHY’ Obsah webovej časti dotaz (CQWP) jeho výsledky sa zobrazuje vo formáte zoznamu, podobné výsledky vyhľadávania. Je tiež možné zobraziť výsledky vo formáte mriežky (tj. Formát tabuľky HTML). Mriežka formáty sú lepšie v niektorých prípadoch. Opísať, ako dosiahnuť tento efekt v tomto článku.

Obchodné scenáre

Pracoval som s klientom na rozľahlej MOSS rollout. Navrhli sme ich taxonómie, taká, že projekty sú prvej triedy občanov v hierarchii a majú svoje vlastné stránky najvyššej úrovne. Projektoví manažéri udržiavať zoznam ojedinelého projektu súhrnné informácie, napríklad názov, rozpočet, predpokladaný dátum ukončenia, zostávajúci rozpočet a ďalšie polia, typ súhrnu. : "Singleton" Myslím, že vlastný zoznam lokality SharePoint, zaručene obsahujú iba jednu položku. Zjednodušene, Vyzerá to, že to:

obrázok

Technický prístup je veľa rovnaký ako je popísané tu (http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!447.entry). CQWP využíva Transformácia XSL vypúšťať HTML pre prehliadač urobiť.

Vždy som predstaviť výsledok pred potápanie do XSL, pretože XSL je nočná mora. Tu je môj požadovaný výsledok:

obrázok

HTML takhle generuje tento výsledok:

<HTML>
 <telo>
 <centrum>
 <Tabuľka orámovanie= 1>

<!-- Menovky-->
 <TR bgcolor= modrá>
 <TD><písmo Farba= biela><b>Názov projektu</b></písmo></TD>
 <TD Zarovnať= právo><písmo Farba= biela><b>Dátum dokončenia</b></písmo></TD>
 <TD Zarovnať= právo><písmo Farba= biela><b>Rozpočet</b></písmo></TD>
 <TD Zarovnať= právo><písmo Farba= biela><b>Skutočné náklady</b></písmo></TD>
 <TD><písmo Farba= biela><b>Celkový stav</b></písmo></TD>
 </TR>

<TR>
 <TD>Re-drôt počítačovej učebni.</TD>
 <TD Zarovnať= právo>02/01/08</TD>
 <TD Zarovnať= právo>22,500.00</TD>
 <TD Zarovnať= právo>19,000.00</TD>
 <TD>Prebieha</TD>
 </TR>

<TR>
 <TD>Poskytovanie serverov SQL Upgrade</TD>
 <TD Zarovnať= právo>04/01/08</TD>
 <TD Zarovnať= právo>7,500.00</TD>
 <TD Zarovnať= právo>0.00</TD>
 <TD>Plánované</TD>
 </TR>

</Tabuľka>
 </centrum>
 </telo>
</HTML>

Prístup

Postupujte podľa týchto krokov Vytvorte mriežky:

  1. Identifikovať komponenty mriežky (riadky alebo stĺpce).
  2. Definovať a vytvoriť stĺpce potrebné lokality.
  3. Vytvorenie podstránky pre projekty a ojedinelého zoznamy.
  4. Pridať CQWP na webovú stránku a nakonfigurovať tak, aby vyhľadávanie pre vaše zoznamy.
  5. Upraviť CQWP XML zhromaždiť ďalšie stĺpce.
  6. Upraviť súbor XSL, vytvárať tabuľky.

Budem sa sústrediť na číslo šesť. Čísla jedna až štyri sú rovno-dopredu, a niečo, čo už urobil každý užívateľ CQWP. Číslo päť bol dobre zdokumentovaný, iní vrátane tento vyčerpávajúci náhľad obrazovky naloženého článku na lokalite MSDN tu (http://msdn2.microsoft.com/en-us/library/bb897399.aspx) a Heather Solomon's blog tu (http://www.heathersolomon.com/blog/articles/CustomItemStyle.aspx).

Skrutky a matice

Začať a vykonávať krokov jedna až päť podľa MSDN dokumentáciu a Heather Šalamúna článok.

V tomto momente, ste pridali svoj CQWP na stránku a budete mať vaše <CommonViewFields> nakonfigurované podľa potreby.

Nasledujúci po obvyklé kroky, Môžem získať tieto priebežných výsledkov:

1. Vytvorenie typu obsahu, šablónovej vlastného zoznamu pre daný typ obsahu a dve stránky. Tu je typ obsahu:

obrázok

Tu je štruktúra stránky:

obrázok

2. Pridať CQWP po vytvorení môj projekt podlokalít a ojedinelého projektu súhrnné zoznamy:

obrázok

3. Pridajte všetky dodatočné informácie, chcem prostredníctvom <CommonViewFields>:

        <nehnuteľnosti meno="CommonViewFields" typ="reťazec">Project_x0020_Name;Project_x0020_Expenses;Project_x0020_Status;Project_x0020_Start_x0020_Date;Project_x0020_End_x0020_Date;Project_x0020_Budget</nehnuteľnosti>

Všimnite si, že som musel držať všetky polia vlastností na jednom riadku alebo to nebude fungovať (CQWP by mi povedať, či dotaz vrátil žiadne položky).

4. V tomto momente, sme pripravení posunúť MSDN článku a flip cez na Heather Šalamúna článok. Jej kroky, začína v blízkosti krok #5 vytvoriť vlastnú / unghosted verzia ItemStyle.xsl. Sledujem Heather poradenstvo, až cez krok 11 a získajte tieto priebežných výsledkov:

4.1: Meno mojej šablóne XSL takto:

<XSL:Názov šablóny = "Grid" zápas = "riadok[@Style = "Siete"]" režim = "itemstyle">

Tiež mierne upraviť jej navrhol <XSL:pre každý …> pridaním <br /> značka poskytnúť čistejšie výpis:

    <XSL:pre každý Vyberte="@*">
      P:<XSL:hodnoty z Vyberte="meno()" /><br/>
    </XSL:pre každý>

4.2: Upraviť webovú časť, Prejsť na vzhľad a vyberte moje "Grid" štýl:

obrázok

Použiť zmeny a tu je výsledok:

obrázok

Môžeme vidieť z vyššie uvedeného, že polia chceme (Názov projektu, náklady, stav, atď) sú k dispozícii pre nás používať, keď budeme vypúšťať HTML. Nielen, že, Ale vidíme, že názvy, ktoré sme odkaz týchto stĺpcov v XSL. Napríklad, My referenčný stav projektu ako "Project_x005F_x0020_Name".

V tomto momente, My odchýliť od Heather blog a ramenách týchto obrov, Môžem pridať svoje vlastné trochu.

ContentQueryMain.xsl

POZNÁMKA: Keď vykonávate zmeny na ContentQueryMain.xsl, ako aj ItemStyle.xsl, budete musieť skontrolovať tieto súbory späť predtým, ako budete vidieť vplyv zmeny.

Mriežka-tvorby účely, MOSS používa dva rôzne súbory XSL výsledky vidíme z CQWP. Vygenerovať predchádzajúce bitový výstup, sme upravili ItemStyle.xsl. MOSS skutočne používa iný súbor XSL, ContentQueryMain.xsl sa v spolupráci s ItemStyle.xsl vytvoriť svoje HTML. Ako už názov napovedá, ContentQueryMain.xsl je hlavným"" XSL, ktorý kontroluje celkový tok preklad. Opakuje prostredníctvom všetkých nájdených položiek a odovzdáva ich jeden po druhom do šablóny ItemStyle.xsl. Upravíme si ItemStyle.xsl vytvárať otvorené <Tabuľka> Tag pred vyžarujúce prvý riadok údajov a ukončenie <Tabuľka> značku po vyžarujúce posledný riadok. Na dosiahnutie tohto cieľa, ContentQueryMain.xsl je upravené prejsť dva parametre nášho "mriežky" šablóny ItemStyle.xsl, "posledný riadok" a "aktuálny riadok". ItemStyle.xsl používa tieto podmienečne vydávať potrebné značky.

Heather Šalamúna technikou, môžeme nájsť ContentQueryMain.xsl. Nachádza sa na rovnakom mieste ako ItemStyle.xsl. Tento náhľad obrazovky by malo pomôcť:

obrázok

Musíme urobiť nasledovné zmeny:

  • Upraviť šablónu xsl, "CallItemTemplate" že vlastne vyvolá naše šablóny mriežky v ItemStyle.xsl. Sme prejsť dva parametre mriežky šablónu tak, že bude mať údaje, ktoré potrebuje podmienečne generovať otváranie a zatváranie <Tabuľka> Tagy.
  • Upraviť jeden kúsok ContentQueryMain.xsl, ktorý volá "CallItemTemplate" odovzdať ho "LastRow" Parameter tak, že LastRow môžu byť odovzdané do našej šablóny mriežky.

Vyhľadajte šablónu s názvom "OuterTemplate.CallItemTemplate" identifikované reťazcom:

  <XSL:šablóny meno="OuterTemplate.CallItemTemplate">

Nahradiť celú šablónu takto:

  <XSL:šablóny meno="OuterTemplate.CallItemTemplate">
    <XSL:param meno="CurPosition" />

    <!--
      Pridať "LastRow" Parameter.
      Používame iba to keď prejsť štýl položky v "Grid".
    -->
    <XSL:param meno="LastRow" />

    <XSL:Vyberte>
      <XSL:keď, kedy skúška="@Style = "NewsRollUpItem"">
        <XSL:Apply-template Vyberte="." režim="itemstyle">
          <XSL:s-param meno="EditMode" Vyberte="$cbq_iseditmode" />
        </XSL:Apply-template>
      </XSL:keď, kedy>
      <XSL:keď, kedy skúška="@Style = "NewsBigItem"">
        <XSL:Apply-template Vyberte="." režim="itemstyle">
          <XSL:s-param meno="CurPos" Vyberte="$CurPosition" />
        </XSL:Apply-template>
      </XSL:keď, kedy>
      <XSL:keď, kedy skúška="@Style = "NewsCategoryItem"">
        <XSL:Apply-template Vyberte="." režim="itemstyle">
          <XSL:s-param meno="CurPos" Vyberte="$CurPosition" />
        </XSL:Apply-template>
      </XSL:keď, kedy>

      <!--
              Súčasneho stavu a lastrow odovzdať šablónu itemstyle.xsl mriežky.
              ItemStyle.xsl bude používať to vydávať otvoriť a zatvoriť <Tabuľka> Tagy.
      -->
      <XSL:keď, kedy skúška="@Style = "Siete"">
        <XSL:Apply-template Vyberte="." režim="itemstyle">
          <XSL:s-param meno="CurPos" Vyberte="$CurPosition" />
          <XSL:s-param meno="Posledný" Vyberte="$LastRow" />
        </XSL:Apply-template>
      </XSL:keď, kedy>

      <XSL:inak>
        <XSL:Apply-template Vyberte="." režim="itemstyle">
        </XSL:Apply-template>
      </XSL:inak>
    </XSL:Vyberte>
  </XSL:šablóny>

Komentáre popisujú účel zmeny.

samozrejme, "OuterTemplate.CallItemTemplate" sa sám nazýva z inej šablóny. Vyhľadajte danú šablónu hľadaním tohto textového reťazca:

<XSL:šablóny meno="OuterTemplate.Body">

Prechádzať podľa pokynov v OuterTemplate.Body a vložiť LastRow parameter takto (zobrazí ako komentár kurzívou):

<XSL:call-template meno="OuterTemplate.CallItemTemplate">
  <XSL:s-param meno="CurPosition" Vyberte="$CurPosition" />
  <!-- Vložiť LastRow parameter. -->
  <XSL:s-param meno="LastRow" Vyberte="$LastRow"/>
</XSL:call-template>

Po všetkých týchto, konečne máme veci správne nastavené tak, že naša ItemStyle.xsl môže vydávať <Tabuľka> Tagy na správnom mieste.

ItemStyle.Xsl

POZNÁMKA: Znova, Skontrolujte, či v ItemStyle.xsl po akýchkoľvek zmien tak, že môžete vidieť vplyv týchto zmien.

Tu máme dve úlohy:

  • Nahradiť celú šablónu mriežky. Môžete kopírovať/vložiť z nižšie.
  • Pridať niektoré zbytočne zložitá vec mimo definíciu šablóny, ktorá umožňuje "formatcurrency" Šablóna pre prácu. (Môžete povedať, že mám slabý rukoväť na XSL).

Prvá, v hornej časti ItemStyle.xsl, Pridajte nasledujúci riadok:

  <!-- Niektoré zbytočne zložitá, ktorý nám umožňuje zobraziť USA. meny. -->
  <XSL:formáte desatinného čísla meno="zamestnanci" číslica="D" />

  <XSL:šablóny meno="Predvolené" zápas="*" režim="itemstyle">

Poznámka, že som pridal to priamo pred <XSL:Názov šablóny = "predvolené" …> definícia.

Ďalšie, vrátiť do našej siete šablóny. Nahradiť celú šablónu mriežke nižšie uvedený kód. Poznamenal, že je dôkladne, ale neváhajte mi email alebo zanechať komentár na môj blog, ak máte otázky.

  <XSL:šablóny meno="Mriežka" zápas="Riadok[@Style = "Siete"]" režim="itemstyle">

    <!--
      ContentMain.xsl prechádza CurPos a naposledy.
      Používame tieto podmienečne vypúšťať otvoriť a zatvoriť <Tabuľka> Tagy.
    -->
    <XSL:param meno="CurPos" />
    <XSL:param meno="Posledný" />

    <!-- Nasledujúce premenné sú nezmenené od štandardnej ItemStyle.xsl -->
    <XSL:premenná meno="SafeImageUrl">
      <XSL:call-template meno="OuterTemplate.GetSafeStaticUrl">
        <XSL:s-param meno="UrlColumnName" Vyberte=""ImageUrl""/>
      </XSL:call-template>
    </XSL:premenná>
    <XSL:premenná meno="SafeLinkUrl">
      <XSL:call-template meno="OuterTemplate.GetSafeLink">
        <XSL:s-param meno="UrlColumnName" Vyberte=""LinkUrl""/>
      </XSL:call-template>
    </XSL:premenná>
    <XSL:premenná meno="DisplayTitle">
      <XSL:call-template meno="OuterTemplate.GetTitle">
        <XSL:s-param meno="Hlava" Vyberte="@Title"/>
        <XSL:s-param meno="UrlColumnName" Vyberte=""LinkUrl""/>
      </XSL:call-template>
    </XSL:premenná>
    <XSL:premenná meno="LinkTarget">
      <XSL:Ak skúška="@OpenInNewWindow = "True"" >_blank</XSL:Ak>
    </XSL:premenná>

    <!--
      Tu definujeme premenné, "tableStart".  Tento balík obsahuje HTML, ktoré používame na definovanie otvorenie tabuľky, rovnako ako menovky stĺpcov.  Všimnite si, že ak CurPos = 1, obsahuje HTML tag CDATA.
      Inak, bude to prázdne.

      Hodnota tableStart je emited, zakaždým, keď ItemStyle sa nazýva prostredníctvom ContentQueryMain.xsl.
    -->
    <XSL:premenná meno="tableStart">
      <XSL:Ak skúška="$CurPos = 1">
        <![CDATA[
        <orámovanie tabuľky = 1>
          <TR bgcolor = "blue">
            <TD><Farba písma = "biele"><b>Názov projektu</b></písmo></TD>
            <Zarovnať TD = "právo"><Farba písma = "biele"><b>Dátum dokončenia</b></písmo></TD>
            <Zarovnať TD = "právo"><Farba písma = "biele"><b>Rozpočet</b></písmo></TD>
            <Zarovnať TD = "právo"><Farba písma = "biele"><b>Skutočné náklady</b></písmo></TD>
            <TD><Farba písma = "biele"><b>Celkový stav</b></písmo></TD>
          </TR>
        ]]>
      </XSL:Ak>
    </XSL:premenná>

    <!--
      Inej premennej, tableEnd jednoducho definuje uzavretie tabuľky značky.

      Rovnako ako u tableStart, to je vždy emited.  To je dôvod, prečo jeho hodnota je priradená podmienečne založené na či sme už bol schválený v poslednom riadku ContentQueryMain.xsl.
    -->
    <XSL:premenná meno="tableEnd">
      <XSL:Ak skúška="$CurPos = $Last">
        <![CDATA[ </Tabuľka> ]]>
      </XSL:Ak>
    </XSL:premenná>

    <!--
      Vždy vypúšťať obsah tableStart.  Ak to nie je prvý riadok prešiel k nám ContentQueryMain.xsl, potom vieme, že jeho hodnota bude prázdne.

      Zakázať výstup utekať, pretože keď tableStart to nie prázdne, To zahŕňa skutočné HTML, ktoré chceme byť poskytnuté prehliadača.  Ak sme nehovorte analyzátor jazyka XSL zakázať výstup úteku, to bude generovať podobne"&lt;Tabuľka&gt;" namiesto toho"<Tabuľka>".
    -->
    <XSL:hodnoty z Vyberte="$tableStart" zakázať-výstupný-únik="áno"/>


    <TR>
      <!--
      P:Project_x005F_x0020_Name P:Project_x005F_x0020_End_x005F_x0020_Date P:Project_x005F_x0020_Budget P:Project_x005F_x0020_Expenses P:Project_x005F_x0020_Status
      -->
      <TD>
        <XSL:hodnoty z Vyberte="@Project_x005F_x0020_Name"/>
      </TD>

      <TD Zarovnať="právo">
        <XSL:hodnoty z Vyberte="@Project_x005F_x0020_End_x005F_x0020_Date"/>
      </TD>

      <TD Zarovnať="právo">
        <XSL:call-template meno="FormatCurrency">
          <XSL:s-param meno="hodnota" 
Vyberte="@Project_x005F_x0020_Budget"></XSL:s-param> </XSL:call-template> </TD> <TD Zarovnať="právo"> <XSL:call-template meno="FormatCurrency"> <XSL:s-param meno="hodnota" Vyberte="@Project_x005F_x0020_Expenses">
</XSL:s-param> </XSL:call-template> </TD> <TD> <XSL:hodnoty z Vyberte="@Project_x005F_x0020_Status"/> </TD> <!-- Všetky tieto je zakomentovaný objasniť veci. Avšak, priviesť ju späť a napchať si ho do <TD> jeho efekt. --> <!-- <konto div id = "linkitem" trieda = "položka"> <XSL:Ak otestovať = "dĺžka reťazca($SafeImageUrl) != 0> <div triedy = "obrázok-oblasť-vľavo"> <href = "{$SafeLinkUrl}" cieľ = "{$LinkTarget}"> <img triedy = "obrázok-fixed-width" src = "{$SafeImageUrl}"
klávesy ALT = "{@ImageUrlAltText}"/> </a> </DIV> </XSL:Ak> <div triedy = "položka prepojenia"> <XSL:call-template
Name="OuterTemplate.CallPresenceStatusIconTemplate"/> <href = "{$SafeLinkUrl}"
cieľ = "{$LinkTarget}" hlavy = "{@LinkToolTip}"> <XSL:hodnota-vyberte = "$DispXSLTitle" /> </a> <div class = "Popis"> <XSL:hodnotu z select="@Description" /> </DIV> </DIV> </DIV>
--> </TR> <!-- Vyžarujú uzavretie tabuľky tag. Ak nie sme na poslednom riadku, to bude prázdne. --> <XSL:hodnoty z Vyberte="$tableEnd" zakázať-výstupný-únik="áno"/> </XSL:šablóny> <XSL:šablóny meno="FormatCurrency"> <XSL:param meno="hodnota" Vyberte="0" /> <XSL:hodnoty z Vyberte='formát-čísla($hodnota, "$DDD,DDD,DDD.DD", "zamestnanci")' /> </XSL:šablóny>

22 myšlienky na "Zobrazenie obsahu webovej časti výsledky dotazu do mriežky / Tabuľka

  1. Andreas

    Ááá… to bolo preto menovaný môj štýl zoznamu inak a si neuvedomil, že v ContentQueryMain.xsl kontroly "štýlu":

    <XSL:pri test="@Style='NameOfMyStyle" ">

    S tým premenovali to fungovalo. 🙂

    Odpoveď
  2. Andreas

    Takmer pracoval pre mňa: Sa mi podarí výstup </Tabuľka> koniec značku správne, ale chýba počiatočná značka. Zdá sa, test = "$CurPos = 1" nevráti pravda. Ale prečo?

    Odpoveď
  3. Pest škodca Rawat

    Skvelé miesto. Paul má urobiť všetky vyššie uvedené veci. Mám dotaz, ako môžem dosiahnuť suma "celkových skutočných Expences" alebo súčtu hodnoty dvoch stĺpcoch.

    Odpoveď
  4. Lisa

    Máte urobiť žiadnu prácu s vytvorením vlastných súborov xsl ContentQueryMain a ItemStyle? Dôvodom Pýtam je, že nechcem, aby sa starať o moje vlastné štýly sú prepísané s záplaty alebo upgrade. Máte príklady? Snažil som sa robiť identickú kópiu ContentQueryMain.xsl a nahrať nové vlastné kópiu ku knižnici štýl. Pri uvedení odkaz na tento súbor xsl na .webpart MainXslLink majetku, Dostanem 401 nie je povolené. Vlastná časť xsl súbor je publikovaná verzia a každý má prístup na čítanie k nemu.

    Odpoveď
  5. Greg Sheridan

    ahoj, to bolo naozaj užitočné vysielania. Mám ju všetky pracovné, a tiež implementované Mike Brown je zmena tak zoskupuje
    výsledky vo vnútri tabuľky tým, čo som si zvolil ako parameter zoskupiť podľa v CQWB vlastností.
    Urobil som titul prepojenie aj, tak to funguje pekne. Mám ešte jeden problém, Hoci. Som zoskupovanie výsledkov podľa názvu webových stránok. Vo vnútri tabuľky, zoskupuje im pekne, a vyzerá to skvele, ale je to stále vytlačenie všetky skupiny
    názvy(v mojom prípade miesto mená) nad tabuľkou. Vie niekto, ako sa zbaviť týchto?
    vďaka,
    Greg

    Odpoveď
  6. Bez názvu

    Pekný článok. Podarilo sa mi zmeniť vzhľad môjho stola z predvolené zoznamy Sharepoint analýzou zdrojového kódu zo zoznamu. Tu sú hlavné HTML bloky potrebné prispôsobiť v ItemStyle:

    <Šírka tabuľky = "100%" class = "ms-listviewtable" hranicu = 0 cellspacing = 0 cellpadding = 1 dir = "None">

    <!–HLAVIČKA–>
    <TR class = "ms-viewheadertr" VALIGN = HORE>
    <Rozsah nowrap TH = "col" class = "ms-vh2"><div style = "width:100%;pozícia:relatívna;vľavo:0;hore:0;">
    <Štýl tabuľky = "šírka:100%;" CtxNum = "1" Výška = "100%" cellspacing = 1 cellpadding = 0 class = "ms-unselectedtitle">
    <TR>
    <TD šírka = "100%" Class = "ms-vb" nowrap>
    Texte du titer ici

    </TD>
    <TD style = "pozícia:absolútna;">
    </TD>
    </TR>
    </TABUĽKA></DIV>
    </TH>

    <!–Opakujte pre všetky bunky hlavičky–>
    </TR>

    <!– Tabuľka údajov –>
    <TR class = "">
    <!–Údajový stĺpec, Pavla kód použiť ten prvý s hypertextovým prepojením –>
    <TD Class = "ms-vb2">Údaje tu</TD>

    <!–Prázdne stĺpce–>
    <TD Class = "ms-vb2">
    <rozpätie dir = žiadny></span><
    /TD>

    <!–Dátum stĺpca–>
    <TD Class = "ms-vb2">
    <NOBR>11/12/2008</NOBR>
    </TD>
    </TR>

    <!–***Alternatívny riadok – Použiť nové XSL premennej, ktorá sa vloží alternatívne triedy na základe aktuálneho riadka modulo 2–>
    <TR class = "ms-striedavo">

    </TR>
    </TABUĽKA>

    Odpoveď
  7. Mike Brown
    Zoltan,
    Pracoval som na rovnaký problém ako vy. Chcel som všetky moje položky zobrazujú zoskupené spôsobom, skôr než len za hodinu. Tu je, ako som to dosiahol.
    ContentQueryMain.xsl
    <XSL:pri test="@Style='Grid" ">
    <XSL:Vyberte položku Apply-Template = "." režim = "itemstyle">
    <XSL:s-param meno = "CurPos" Vyberte = "$CurPosition" />
    <XSL:s-param meno = "posledný" Vyberte = "$LastRow" />
    <!–Pridať novú sekciu odovzdať parameter označujúci novú skupinu začala–>
    <XSL:s-param meno = "StartNewGroup" Select="@__begingroup" />
    </XSL:Apply-template>
    </XSL:keď, kedy>
    ItemStyle.xsl
    Pridať vaše parameter
    <XSL:param meno = "StartNewGroup" />
    Pridať tento text v prvom riadku údajov
    <XSL:Vyberte>
    <XSL:keď test = "$StartNewGroup ="True"">
    <TR>
    <TD >
    <XSL:name="OuterTemplate.GetGroupName call-template">
    <XSL:s-param meno = "NázovSkupiny" Select="@*[meno()= $Group]"/>
    <XSL:s-param meno = "GroupType" Vyberte = "$GroupType" />
    </XSL:call-template>
    </TD>
    </TR>
    </XSL:keď, kedy>
    <XSL:inak>
    </XSL:inak>
    </XSL:Vyberte>
    To mali starať o váš problém zoskupenia v mriežky. Každá skupina sa teraz začne nový riadok s uvedením názvu skupiny. V mojej riešenie skutočne Pridal som prázdne <TD /> v údajoch zarážka rovnako tak zoskupenia stál oveľa lepšie.
    Site1
    datacolumn1 datacolumn2 datacolumn3 atď

    datacolumn1 datacolumn2 datacolumn3 atď
    Site2
    datacolumn1 datacolumn2 datacolumn3 atď
    Site3

    datacolumn1 datacolumn2 datacolumn3 atď

    datacolumn1 datacolumn2 datacolumn3 atď
    atď.
    Odpoveď
  8. Zoltan
    Ahoj Paul,
    Vďaka za príspevok, podarilo sa zorganizovať moje výsledky dotazu do mriežky, čo je veľmi užitočné. Avšak, Mali by ísť ďalej a skupiny moje výsledky založené na stránky. V súčasnej dobe, názvy lokalít sú uvedené ako prvé, a potom je tam len jeden veľký mriežky zhromažďovanie všetkých riadkov z rôznych miest. Niečo takého:
    Site1 meno
    Site2 meno
    Údaje v mriežke pre všetky lokality
    Nejaké nápady, čo by sa mali upraviť s cieľom získať údaje takto:
    Site1 meno
    Údaje v mriežke pre Site1
    Site2 meno
    Údaje v mriežke pre Site2
    Thanks in advance,
    Zoltan
    Odpoveď
  9. Pierre Joubert
    Fantastic Post, vyriešiť môj problém som mal.
    Mojím jediným problémom je zobrazovanie pole AssignedTo, Nastaviť ju s užívateľ"" typ poľa a dovážané webovej časti potom zobrazí nasledujúca chyba:
    "Sa vyskytla chyba pri získavaní údajov na zobrazenie v tejto webovej časti."
    Snažil som sa používať všetky možné oblasti typy, s niečím iný používateľ"" sa nezobrazí chyba, ale to nič nezobrazí v poli. Takže som za predpokladu pole typ používateľa je správne, Takže musí chýba nastavenie niekde.
    Akékoľvek myšlienky na to?
    S pozdravom
    Pierre
    Odpoveď
  10. Charftong
    Skvelé miesto!!! Veľmi veľmi užitočná.
    Rýchly dotaz, ste urobil všetky práce na s poľami pole AssignedTo alebo ModifiedBy s prítomnosťou? Z nejakého dôvodu, kedykoľvek som skúsiť zobrazovacím poli priradené v CQWP, to vždy zobrazí ako príklad "203;#Charf Tong". Nemôžem nájsť spôsob, ako okolo tohto.
    Odpoveď
  11. Jennifer Davis
    Paul
    Skvelý článok, ďakujem. Robím niečo veľmi podobné, ale chcete zobrazovať prepojenie pre projektovú lokalitu skôr ako položku v zozname. Napríklad, máme 25 najvyššej úrovni projektových lokalít a každá obsahuje zoznam typov obsahu. Toto je názov projektu, Divízia, Popis. Chcem použiť webovú časť dotaz na obsah vytiahnuť tieto údaje a uspeli s výnimkou, že predvolené URL mi trvá na položku v zozname a naozaj treba vziať ma na projektovú lokalitu. Môžete mi dať nejakú radu?
    ďakujem
    Jen
    Odpoveď
  12. Paul Galvin
    Kieren,
    Vždy používam visual studio upraviť súbor XSL. Poskytuje farebné kódovanie a tiež má niektoré dobré intellisense podporu.
    –Paul
    Odpoveď
  13. Kieran napísal:

    Ahoj Pavla,

    Pri práci s xml/xsl a obsah dotazu webovej časti, Našli ste nejaké dobré spôsoby, ako formátovať vaše xslt? Snaží urobiť zmeny a koncepcia testu je dokazujúce právo bolesť v ** len pomocou textového editora…

    Všetko najlepšie

    Odpoveď
  14. Michael Dipay
    Pokiaľ ide o problém bol s poslednej dobe kde to nezobrazuje obrázky z zobrazenie mriežky, ale namiesto toho sa zobrazí text (https://myweb.com/Marketing/images/icn-order.gif,). Sa mi podarí vyriešiť s pomocou programu SharePoint Designer vytvoriť vlastné zobrazenie a výberom vlastné stĺpce, ktoré chcem Zobraziť. Zistil som, že obrazy typ stĺpca sa zobrazujú ako URL(čiarka) (napr.. https://myweb.com/Marketing/images/icn-order.gif,). Aktuálny formát je Text, tak som to zmeniť na obrázok z bežných xsl:hodnota z úlohy-> Formáte ako obrázok. Táto zmena zobrazenia pre vlastné obrázky, ktoré som chcel Ukázať. Som skopíroval kód Ukázať obrázok ( <img hranice ="0" src = "{podreťazec-pred(@IcnOrder, ‘, ‘)}" /> ) A v súbore ItemStyle.xsl musím zmeniť @PICTURECOLUMNNAME kódu <img hranice ="0" src = "{podreťazec-pred(@IcnOrder, ‘, ‘)}" /> . Potom ho uložiť. Teraz moje výsledky mriežky tabuľky Zobraziť text, ako aj vlastný obrázok zadajte stĺpce.
    Odpoveď
  15. Helena
    Ahoj Pavla,
    Vďaka za skvelý článok!
    Spomenuli ste sa podmienené formátovanie – "Môžete tiež dať v podmieneného formátovania, napríklad zobrazenie projekty, ktorí prekročili svoj rozpočet v červenej farbe." Neviete náhodou mať príklad kódu na to?
    Vďaka opäť!
    Helena
    Odpoveď
  16. Michael Dipay
    Ahoj Pavla,
    To bol skvelý článok a bol schopný generovať rovnaký výsledok, ako sa očakávalo. Mám požiadavka Zobraziť obrázok v mriežke ako jednu zo svojich stĺpcoch. To nie je zobrazenie obrázku na štartovom rošte, ale namiesto toho zobrazí url obrázku s (,) čiarka na konci.
    (napr.. https://myweb.com/Marketing/images/icn-order.gif, )
    Mali použiť objekt alebo obrázok do CommonViewFields poľa typu? (napr.. InternalColumnName, Obrázok)
    vďaka,
    Mike
    Odpoveď
  17. Saji Ijiyemi

    Váš príspevok je presne to, čo som hľadal. Avšak, Nemôže dostať to do práce.

    Mám doklady, ktoré sú uložené v rôznych doc. knižnice ale klasifikovať pomocou vlastnej triedy stĺpca (výber: 1 alebo 2. Chcem používať CQWP Ukázať tieto dokumenty na základe svojej triedy.
    Bol som schopný pridať CQWP, exportovať do SPD, Konfigurácia itemStyle.xls Zobraziť vlastné půlsnímků v zobrazení zoznamu. Avšak, Som mohol úspešne neimplementuje čo ste tu popisovať.

    Toto sú stĺpce, ktoré chcem zobraziť v mojom CQWP:

    Typ súboru (Zobraziť ikonu)
    Názov súboru
    Dátum poslednej zmeny
    Ktorý upravil
    Vzal k sebe používateľ
    Kontroluje komentáre

    Momentálne mám výsledok vo formáte zoznamu. Ako môžem zmeniť formát talble.

    vďaka.

    Saji

    Odpoveď

Zanechajte odpovedať na Saji Ijiyemi zrušiť odpoveď

Vaša e-mailová adresa nebude zverejnená. Povinné položky sú označené *