Rodyti turinio užklausos žiniatinklio dalis rezultatus tinklelyje / Lentelė

Apžvalga ir tikslas

Out of the box, SAMANŲ’ Turinio užklausos žiniatinklio dalis (CQWP) rodo jo rezultatų sąrašą formatu, panašūs į paieškos rezultatus. Tai taip pat galima matyti rezultatus tinklelyje formatu (ty. HTML lentelės formatą). Tinklelio formatai yra geriau kai kuriais atvejais. Aprašyti, kaip pasiekti kad šis straipsnis.

Verslo scenarijus

Aš dirbau su klientu visos įmonės MOSS rida. Mes turime sukurti jų taksonomija taip, kad projektai pirmos klasės piliečiais hierarchijos ir turi savo aukščiausio lygio svetainės. Projektų vadovai išlaikyti Singletonas sąrašą projekto informacijos santrauka, pvz., pavadinimas, biudžeto, numatomas baigimo data, Likusi biudžeto ir kitų suvestinės tipo laukai. Iš "Singletonas" Aš tai pasirinktinį SharePoint sąrašą garantuoja, kad yra tik viena prekė. Gerokai, atrodo, kad tai:

vaizdas

Techniniu požiūriu yra beveik toks pat kaip aprašyta čia (http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!447.entry). Į CQWP naudoja XSL transformacija išmesti HTML naršyklė teikti.

Aš visada įsivaizduoti rezultatas prieš pasinerdami į XSL nes XSL yra košmaras. Čia yra mano norimo rezultato:

vaizdas

HTML kaip tai generuoja to:

<HTML>
 <įstaiga>
 <centras>
 <lentelė sienos= 1>

<!-- Etiketės->
 <TR bgcolor= blue>
 <TD><šriftas spalva= balta><b>Projekto pavadinimas</b></šriftas></TD>
 <TD suderinti= teisės><šriftas spalva= balta><b>Visą dieną</b></šriftas></TD>
 <TD suderinti= teisės><šriftas spalva= balta><b>Biudžeto</b></šriftas></TD>
 <TD suderinti= teisės><šriftas spalva= balta><b>Faktinių išlaidų</b></šriftas></TD>
 <TD><šriftas spalva= balta><b>Bendras statusas</b></šriftas></TD>
 </TR>

<TR>
 <TD>Vėl vielos kompiuterių klasėje.</TD>
 <TD suderinti= teisės>02/01/08</TD>
 <TD suderinti= teisės>22,500.00</TD>
 <TD suderinti= teisės>19,000.00</TD>
 <TD>Vyksta</TD>
 </TR>

<TR>
 <TD>Nuostata serveriais SQL atnaujinti</TD>
 <TD suderinti= teisės>04/01/08</TD>
 <TD suderinti= teisės>7,500.00</TD>
 <TD suderinti= teisės>0.00</TD>
 <TD>Planuojama</TD>
 </TR>

</lentelė>
 </centras>
 </įstaiga>
</HTML>

Požiūris

Atlikite šiuos veiksmus, norėdami sukurti tinklelį:

  1. Nustatyti sudedamąsias dalis tinklelis (eilutes/stulpelius).
  2. Apibrėžti ir sukurti reikia svetainės stulpeliai.
  3. Sukurti sub svetainių projektai ir pavienių sąrašų.
  4. Pridėti į CQWP tinklapį ir konfigūruoti ją ieškoti savo sąrašus.
  5. Pakeisti į CQWP XML surinkti papildomų stulpelių nustatymą.
  6. Modifikuoti XSL, kad būtų sukurti.

I 'm going to dėmesio numeris šeši. Vienas per keturis skaičius yra tiesiai į priekį ir ko bet CQWP viskas jau padaryta. Numeris penki buvo gerai dokumentuota iš kitų, įskaitant Šis išsamus ekrano fotografiją pakrauta straipsnis iš MSDN čia (http://msdn2.microsoft.com/en-us/library/bb897399.aspx) ir Heather Saliamono Dienoraštis čia (http://www.heathersolomon.com/blog/articles/CustomItemStyle.aspx).

Veržlės ir varžtai

Pradėti ir įgyvendinti veiksmus nuo 1 iki penkių MSDN dokumentus ir Heather Saliamono straipsnio.

Šiuo metu, pridėjote savo CQWP į puslapį, ir jūs turite savo <CommonViewFields> sukonfigūruotas prireikus.

Įprasta veiksmus, Man šie tarpiniai rezultatai:

1. Kurti turinio tipą, šablono pasirinktinį sąrašą to turinio tipo ir dvi svetaines. Čia yra turinio tipas:

vaizdas

Čia yra svetainės struktūra:

vaizdas

2. Pridėti į CQWP po sukurtas projekto antrines svetaines ir pavienių projekto santrauka sąrašus:

vaizdas

3. Pridėti visa informacija, kurios aš noriu per į <CommonViewFields>:

        <nekilnojamojo turto vardas, pavadinimas="CommonViewFields" tipo="eilutė">Project_x0020_Name;Project_x0020_Expenses;Project_x0020_Status;Project_x0020_Start_x0020_Date;Project_x0020_End_x0020_Date;Project_x0020_Budget</nekilnojamojo turto>

Atkreipkite dėmesį, kad man teko išlaikyti visi ypatybių laukai viena linija arba jis neveikia (CQWP būtų pasakyti, kad užklausa grąžino elementų).

4. Šiuo metu, Mes pasiruošę pereiti nuo MSDN straipsnį ir apversti ant per Heather Saliamono straipsnį. Atlikite savo veiksmus pradedant netoli žingsnis #5 kurti individualią / unghosted versija ItemStyle.xsl. Aš po Heather patarimai, aukštyn per žingsnį 11 ir gauti šiuos tarpinius rezultatus:

4.1: Vardas mano XSL šabloną taip:

<XSL:šablono pavadinimas = "tinklelis" rungtynės = "eilutę[@Style = "Tinklelis"]" režimas = "itemstyle">

Aš taip pat šiek tiek modifikuoti jai pasiūlė <XSL:už kiekvieną …> pridėjus a <br /> Tag teikti švaresnis sąrašą:

    <XSL:už kiekvieną Pasirinkite="@*">
      P:<XSL:vertė Pasirinkite="vardas, pavadinimas()" /><br/>
    </XSL:už kiekvieną>

4.2: Aš pakeisti puslapio dalis, Pasirinkite mano "tinklelis išvaizdą ir" stilius:

vaizdas

Pritaikytas ir Štai rezultatas:

vaizdas

Mes galime matyti iš pirmiau kad srityse mes norime (Projekto pavadinimas, sąskaita, statusas, ir tt) yra mums naudoti, kai mes skleisti HTML. Ne tik, kad, bet mes pamatyti pavadinimus, kuriais mes turi nurodyti tuos stulpelius į XSL. Pvz., Mes nuoroda projekto būseną kaip "Project_x005F_x0020_Name".

Šiuo metu, Mes nukrypti nuo Heather dienoraštį ir iš šių milžinų pečių, Pridedu savo šiek tiek.

ContentQueryMain.xsl

PASTABA: Keičiant tiek ContentQueryMain.xsl, tiek ItemStyle.xsl, reikia patikrinti tuos failus atgal į prieš jus pamatyti savo pasikeitimo poveikis.

Tinklo formavimo tikslais, SAMANŲ naudoja du skirtingus XSL failus pateikia rezultatus, matome iš a CQWP. Generuoti į ankstesnį šiek tiek produkcijos, Mes pakeisti ItemStyle.xsl. SAMANŲ iš tikrųjų naudoja kitą XSL failą, ContentQueryMain.xsl, kartu su ItemStyle.xsl kurti savo HTML. Kaip jos pavadinimas, ContentQueryMain.xsl yra "pagrindinė" XSL, kuris kontroliuoja apie bendrą srautą Vertimas. Tai kartojasi per visus rasti elementus ir eina juos po vieną į šablonus ItemStyle.xsl. Mes jums pakeisti ItemStyle.xsl kurti atvirą <lentelė> Tag prieš skleidžiantis pirmos eilutės duomenys ir uždarymas <lentelė> žymę po skleidžiančių paskutinę eilutę. Norėdami tai atlikti, ContentQueryMain.xsl iš dalies keičiami du parametrai perduoti mūsų "tinklelis" šablono ItemStyle.xsl, "paskutinę eilutę" ir "dabartinės eilutės". ItemStyle.xsl naudoja tai sąlyginai išmesti reikia Žymos.

Naudojant Heather Saliamono technika, mes rasti ContentQueryMain.xsl. Jis įsikūręs pačioje vietoje kaip ir ItemStyle.xsl. Šis ekrano nuotrauka turėtų padėti:

vaizdas

Mums reikia atlikti šiuos keitimus:

  • Xsl šablono modifikavimas, "CallItemTemplate" kad iš tikrųjų remiasi mūsų tinklelio šablono ItemStyle.xsl. Mes bus perduoti du parametrai tinklelio šabloną, kad dar reikia sąlyginai generuoti atidaryti ir uždaryti duomenų <lentelė> Žymos.
  • Pakeisti kitą tiek ContentQueryMain.xsl, kad "CallItemTemplate" ją perduoti "LastRow" parametras, kad LastRow gali būti perduodama į mūsų tinklo šablonas.

Rasti šabloną, pavadintą "OuterTemplate.CallItemTemplate" identifikuojami pagal eilutę:

  <XSL:šablonas vardas, pavadinimas="OuterTemplate.CallItemTemplate">

Pakeisti visą šabloną taip:

  <XSL:šablonas vardas, pavadinimas="OuterTemplate.CallItemTemplate">
    <XSL:param vardas, pavadinimas="CurPosition" />

    <!--
      Pridėti "LastRow" parametras.
      Mes tik jį naudoti, kai prekės stilius išlaikyti, yra "Tinklelis".
    -->
    <XSL:param vardas, pavadinimas="LastRow" />

    <XSL:pasirinkti>
      <XSL:kada bandymas="@Style = "NewsRollUpItem"">
        <XSL:taikyti šablonus Pasirinkite="." režimas="itemstyle">
          <XSL:su param vardas, pavadinimas="EditMode" Pasirinkite="$cbq_iseditmode" />
        </XSL:taikyti šablonus>
      </XSL:kada>
      <XSL:kada bandymas="@Style = "NewsBigItem"">
        <XSL:taikyti šablonus Pasirinkite="." režimas="itemstyle">
          <XSL:su param vardas, pavadinimas="CurPos" Pasirinkite="$CurPosition" />
        </XSL:taikyti šablonus>
      </XSL:kada>
      <XSL:kada bandymas="@Style = "NewsCategoryItem"">
        <XSL:taikyti šablonus Pasirinkite="." režimas="itemstyle">
          <XSL:su param vardas, pavadinimas="CurPos" Pasirinkite="$CurPosition" />
        </XSL:taikyti šablonus>
      </XSL:kada>

      <!--
              Dabartinę padėtį ir lastrow perduoti tinklo itemstyle.xsl šablonas.
              ItemStyle.xsl naudos, skleidžia atviro ir uždarymo <lentelė> Žymos.
      -->
      <XSL:kada bandymas="@Style = "Tinklelis"">
        <XSL:taikyti šablonus Pasirinkite="." režimas="itemstyle">
          <XSL:su param vardas, pavadinimas="CurPos" Pasirinkite="$CurPosition" />
          <XSL:su param vardas, pavadinimas="Paskutinis" Pasirinkite="$LastRow" />
        </XSL:taikyti šablonus>
      </XSL:kada>

      <XSL:kitaip>
        <XSL:taikyti šablonus Pasirinkite="." režimas="itemstyle">
        </XSL:taikyti šablonus>
      </XSL:kitaip>
    </XSL:pasirinkti>
  </XSL:šablonas>

Komentarus apibūdinti pakeitimų tikslas.

žinoma, "OuterTemplate.CallItemTemplate" pati iškvietė kitą šabloną. Raskite tą šabloną ieškodami šio teksto eilutė:

<XSL:šablonas vardas, pavadinimas="OuterTemplate.Body">

Slinkimas per OuterTemplate.Body instrukcijas ir įterpti parametrą LastRow taip (rodomas komentare, pasvirasis):

<XSL:Call-template vardas, pavadinimas="OuterTemplate.CallItemTemplate">
  <XSL:su param vardas, pavadinimas="CurPosition" Pasirinkite="$CurPosition" />
  <!-- Įterpti parametrą LastRow. -->
  <XSL:su param vardas, pavadinimas="LastRow" Pasirinkite="$LastRow"/>
</XSL:Call-template>

Po visa tai, pagaliau buvo nustatyti tinkamai, kad mūsų ItemStyle.xsl galėtų duoti dalykų <lentelė> Žymos į reikiamą vietą.

ItemStyle.Xsl

PASTABA: Dar kartą, įsiregistruoti ItemStyle.xsl atlikę pakeitimus, kad matytumėte šių pokyčių poveikį.

Mes turime dvi užduotis čia:

  • Pakeisti visą tinklo šablonas. Jūs galite kopijuoti ir įklijuoti iš apačios.
  • Pridėti kai kurios mumbo jumbo šabloną apibrėžimą, leidžiantis "formatcurrency" šablonas veiktų. (Galite pasakyti, kad aš silpnas rankena XSL).

Pirmosios, viršuje, ItemStyle.xsl, pridėkite šią eilutę:

  <!-- Kai kurie mumbo jumbo, kuris leistų parodyti JAV. valiuta. -->
  <XSL:dešimtainis formatas vardas, pavadinimas="darbuotojai" skaitmuo="D" />

  <XSL:šablonas vardas, pavadinimas="Numatytasis" rungtynės="*" režimas="itemstyle">

Pastaba kad dodałem jį tiesiogiai prieš ir <XSL:šablono pavadinimas = "Numatytasis" …> apibrėžimas.

Kitas, grįžti į mūsų tinklo šablonas. Pakeisti visą tinklo šablonas žemiau esantį kodą. Jis yra gerai pakomentavo, Tačiau nedvejodami rašykite man arba palikti komentarus savo dienoraštį, jei turite klausimų.

  <XSL:šablonas vardas, pavadinimas="Tinklelis" rungtynės="Eilutės[@Style = "Tinklelis"]" režimas="itemstyle">

    <!--
      ContentMain.xsl eina CurPos, su paskutiniais.
      Mes naudojame šias išlygomis skleidžia atviro ir uždarymo <lentelė> Žymos.
    -->
    <XSL:param vardas, pavadinimas="CurPos" />
    <XSL:param vardas, pavadinimas="Paskutinis" />

    <!-- Kintamieji yra nemodifikuotą nuo standartinių ItemStyle.xsl -->
    <XSL:kintamasis vardas, pavadinimas="SafeImageUrl">
      <XSL:Call-template vardas, pavadinimas="OuterTemplate.GetSafeStaticUrl">
        <XSL:su param vardas, pavadinimas="UrlColumnName" Pasirinkite=""ImageUrl""/>
      </XSL:Call-template>
    </XSL:kintamasis>
    <XSL:kintamasis vardas, pavadinimas="SafeLinkUrl">
      <XSL:Call-template vardas, pavadinimas="OuterTemplate.GetSafeLink">
        <XSL:su param vardas, pavadinimas="UrlColumnName" Pasirinkite=""LinkUrl""/>
      </XSL:Call-template>
    </XSL:kintamasis>
    <XSL:kintamasis vardas, pavadinimas="DisplayTitle">
      <XSL:Call-template vardas, pavadinimas="OuterTemplate.GetTitle">
        <XSL:su param vardas, pavadinimas="Antraštinė dalis" Pasirinkite="@Title"/>
        <XSL:su param vardas, pavadinimas="UrlColumnName" Pasirinkite=""LinkUrl""/>
      </XSL:Call-template>
    </XSL:kintamasis>
    <XSL:kintamasis vardas, pavadinimas="LinkTarget">
      <XSL:Jei bandymas="@OpenInNewWindow = "True"" >_blank</XSL:Jei>
    </XSL:kintamasis>

    <!--
      Čia mes apibrėžti kintamąjį, "tableStart".  Tai yra HTML, mes naudojame nustatyti lentelės taip pat stulpelio žymelės atidarymo.  Atkreipkite dėmesį, kad jei CurPos = 1, ji apima HTML CDATA žymę.
      Kitaip, jis bus tuščias.

      TableStart vertė yra emited kiekvieną kartą, kai ItemStyle yra vadinamas via ContentQueryMain.xsl.
    -->
    <XSL:kintamasis vardas, pavadinimas="tableStart">
      <XSL:Jei bandymas="$CurPos = 1">
        <![CDATA[
        <lentelės kraštinėje = 1>
          <TR bgcolor = "blue">
            <TD><Šrifto spalva = "balta"><b>Projekto pavadinimas</b></šriftas></TD>
            <TD align = "right"><Šrifto spalva = "balta"><b>Visą dieną</b></šriftas></TD>
            <TD align = "right"><Šrifto spalva = "balta"><b>Biudžeto</b></šriftas></TD>
            <TD align = "right"><Šrifto spalva = "balta"><b>Faktinių išlaidų</b></šriftas></TD>
            <TD><Šrifto spalva = "balta"><b>Bendras statusas</b></šriftas></TD>
          </TR>
        ]]>
      </XSL:Jei>
    </XSL:kintamasis>

    <!--
      Kitam kintamajam, tableEnd tiesiog apibrėžia uždarymo lentelės žymė.

      Kaip ir tableStart, tai visada emited.  Tai kodėl jo vertė priskiriama tam tikromis sąlygomis grindžiama ar mes jau buvo priimtas paskutinę eilutę ContentQueryMain.xsl.
    -->
    <XSL:kintamasis vardas, pavadinimas="tableEnd">
      <XSL:Jei bandymas="$CurPos = $Last">
        <![CDATA[ </lentelė> ]]>
      </XSL:Jei>
    </XSL:kintamasis>

    <!--
      Visada išmeta tableStart turinys.  Jei tai nėra pirmos eilutės praėjo mums ContentQueryMain.xsl, tada mes žinome, jos vertė yra tuščias.

      Išjungti produkcijos pabėgti nes Kada tableStart tai ne tuščias, ji apima faktinį HTML, kad mes norime būti suteiktas naršyklė.  Jei mes don't tell XSL analizatorius išjungti išvesties pabėgti, ji bus sukurti daiktai kaip"&lt;lentelė&gt;" Vietoj to "<lentelė>".
    -->
    <XSL:vertė Pasirinkite="$tableStart" išjungti-produkcija-pabėgti="taip"/>


    <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:vertė Pasirinkite="@Project_x005F_x0020_Name"/>
      </TD>

      <TD suderinti="teisė">
        <XSL:vertė Pasirinkite="@Project_x005F_x0020_End_x005F_x0020_Date"/>
      </TD>

      <TD suderinti="teisė">
        <XSL:Call-template vardas, pavadinimas="FormatCurrency">
          <XSL:su param vardas, pavadinimas="vertė" 
Pasirinkite="@Project_x005F_x0020_Budget"></XSL:su param> </XSL:Call-template> </TD> <TD suderinti="teisė"> <XSL:Call-template vardas, pavadinimas="FormatCurrency"> <XSL:su param vardas, pavadinimas="vertė" Pasirinkite="@Project_x005F_x0020_Expenses">
</XSL:su param> </XSL:Call-template> </TD> <TD> <XSL:vertė Pasirinkite="@Project_x005F_x0020_Status"/> </TD> <!-- Visi šie yra komentaru siekiant paaiškinti, ką. Tačiau, priima jį atgal ir kita į į <TD> Norėdami pamatyti jos poveikį. --> <!-- <div id = "linkitem" Class = "elementas"> <XSL:Jei bandymas = "eilutės ilgis($SafeImageUrl) != 0"> <div class = "vaizdas-plotas-kairieji"> <a href = "{$SafeLinkUrl}" TARGET = "{$LinkTarget}"> <IMG class = "vaizdas-fiksuoto pločio" src = "{$SafeImageUrl}"
ALT = "{@ImageUrlAltText}"/> </a> </DIV> </XSL:Jei> <div class = "ryšys-prekės"> <XSL:Call-template
name="OuterTemplate.CallPresenceStatusIconTemplate"/> <a href = "{$SafeLinkUrl}"
TARGET = "{$LinkTarget}" title = "{@LinkToolTip}"> <XSL:vertė-apie pasirinkite = "$DisXSLyTitle" /> </a> <div class = "Aprašas"> <XSL:vertė-apie select="@Description" /> </DIV> </DIV> </DIV>
--> </TR> <!-- Skleisti uždarymo lentelės žymė. Jei mes ne apie paskutinę eilutę, tai yra tuščias. --> <XSL:vertė Pasirinkite="$tableEnd" išjungti-produkcija-pabėgti="taip"/> </XSL:šablonas> <XSL:šablonas vardas, pavadinimas="FormatCurrency"> <XSL:param vardas, pavadinimas="vertė" Pasirinkite="0" /> <XSL:vertė Pasirinkite='formatas-numeris($vertė, "$DDD,DDD,DDD.DD", "personalas")' /> </XSL:šablonas>

22 mintys apie "Rodyti turinio užklausos žiniatinklio dalis rezultatus tinklelyje / Lentelė

  1. Andreas

    AAH… ji buvo, nes aš pavadintas mano sąrašo stilių skirtingai ir nesuvokia, kad, kad ContentQueryMain.xsl ji ieško "stiliaus":

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

    Su tuo pervadintas jis dirbo. 🙂

    Atsakyti
  2. Andreas

    Ji beveik dirbo už mane: Man pavyko išėjimo į </lentelė> pabaigos žymė teisingai, bet pradžios žyma nėra. Atrodo, kad bandymas = "$CurPos = 1" negrąžina tiesa. Bet kodėl?

    Atsakyti
  3. Anand singh Rawat

    Didžiosios paštu. Aš padariau viską aukščiau ką Paulius. Turiu užklausą, kaip aš galiu pasiekti "bendras faktinis Gebenimas suma" ar suma jos vertės dviejų stulpelių.

    Atsakyti
  4. Lisa

    Ar jūs padaryti bet kokį darbą su vartotojo ContentQueryMain ir ItemStyle xsl failų kūrimas? Prašau priežastis, kad aš nenoriu nerimauti dėl savo pasirinktinius stilius yra perrašyti bet pleistrų ar atnaujinimus. Ar turite pavyzdžių? Aš bandė padaryti identišką kopiją į ContentQueryMain.xsl ir įkelti tą naują pasirinktinį kopiją į stilių biblioteka. Rengdamos nuorodą į šį xsl failą į .webpart MainXslLink turtas, Gaunu 401 neleidžiama. Pasirinktinis xsl failą yra paskelbta versija ir kiekvienas žmogus turi skaitymo prieigos prie jos.

    Atsakyti
  5. Greg Sheridan

    sveikas, tai buvo tikrai naudinga komandiruotės. Aš jį visą darbo, ir taip pat įgyvendinama Mike'as Brownas kaita, kad sugrupuojami
    rezultatų lentelę iš ką pasirinkti kaip Grupuoti pagal parametrą su CQWB savybės.
    Aš padariau pavadinime nuoroda taip pat, Taigi jis veikia gražiai. Aš vis dar turiu viena problema, Nors. Aš esu grupės rezultatus pagal svetainės pavadinimas. Į, ji grupuoja juos gražiai, ir ji puikiai atrodo, bet tai dar spausdinti visus grupės
    pavadinimai(mano atveju puslapyje pavadinimus) virš lentelės. Ar kas nors žino kaip jų atsikratyti?
    ačiū,
    Greg

    Atsakyti
  6. Nr pavadinimas

    Nice straipsnis. Man pavyko duoti mano lentelė atrodo numatytąją Sharepoint sąrašai analizuodami kodą sąrašo. Čia yra pagrindinis HTML blokus reikia, kad tilptų į ItemStyle:

    <STALO plotis = "100 %" Class = "ms-listviewtable" sienos = 0 cellspacing = 0 cellpadding = 1 dir = "None">

    <!–ANTRAŠTĖS–>
    <TR class = "ms-viewheadertr" VALIGN = TOP>
    <TH nowrap sritį = "col" Class = "ms-vh2"><div stilius = "plotis:100%;pozicija:santykinis;kairėje:0;viršuje:0;">
    <LENTELĖS stilius = "plotis:100%;" CtxNum = "1" aukštis = "100 %" cellspacing = 1 cellpadding = 0 class = "ms-unselectedtitle">
    <TR>
    <TD plotis = "100 %" Class = "ms-vb" nowrap>
    Texte du titras ici

    </TD>
    <TD stilius = "pozicija:absoliutus;">
    </TD>
    </TR>
    </LENTELĖ></DIV>
    </TH>

    <!–Pakartokite visus antraštės langelius–>
    </TR>

    <!– Lentelės duomenys –>
    <TR class = "">
    <!–Duomenų stulpelį, naudoti Pauliaus kodą pirmasis hipersaitą –>
    <TD Class = "ms-vb2">Duomenų čia</TD>

    <!–Tuščias stulpelis–>
    <TD Class = "ms-vb2">
    <patikros dir = nieko></tarpą><
    /TD>

    <!–Datą skiltis–>
    <TD Class = "ms-vb2">
    <NOBR>11/12/2008</NOBR>
    </TD>
    </TR>

    <!–***Pakaitinis eilučių – Naudokite naują XSL kintamasis, bus įterptas pakaitinių klasės pagal dabartinės eilutės modulį 2–>
    <TR class = "ms-kintamoji">

    </TR>
    </LENTELĖ>

    Atsakyti
  7. Mike'as Brownas
    Zoltan,
    Aš dirbau tuo pačiu klausimu kaip jums. Aš norėjau visus savo sugrupuoti taip, o ne tik lits rodomų elementų. Štai kaip aš jį pasiekti.
    ContentQueryMain.xsl
    <XSL:kai test="@Style='Grid" ">
    <XSL:taikyti šablonai pasirinkite = "." režimas = "itemstyle">
    <XSL:su Vanda pavadinimas = "CurPos" Pasirinkite = "$CurPosition" />
    <XSL:su Vanda pavadinimas = "paskutinė" Pasirinkite = "$LastRow" />
    <!–įtraukti šį naują skyrių perduoti parametrą nurodant naują grupę pradėjo–>
    <XSL:su Vanda pavadinimas = "StartNewGroup" Select="@__begingroup" />
    </XSL:taikyti šablonus>
    </XSL:kada>
    ItemStyle.xsl
    Pridėti jūsų parametras
    <XSL:param pavadinimas = "StartNewGroup" />
    Pridėti šį tekstą kaip pirmojoje duomenų eilutėje
    <XSL:pasirinkti>
    <XSL:Kada išbandyti = "$StartNewGroup ="True"">
    <TR>
    <TD >
    <XSL:Call-template name="OuterTemplate.GetGroupName">
    <XSL:su Vanda pavadinimas = "GroupName" Select="@*[vardas, pavadinimas()= $Group]"/>
    <XSL:su Vanda pavadinimas = "GroupType" Pasirinkite = "$GroupType" />
    </XSL:Call-template>
    </TD>
    </TR>
    </XSL:kada>
    <XSL:kitaip>
    </XSL:kitaip>
    </XSL:pasirinkti>
    Tai turėtų rūpintis savo grupės išdavimo į savo tinklelį. Kiekviena grupė dabar prasidės naujas eilės nurodant grupės pavadinimą. Mano sprendimas aš iš tikrųjų papildomas tuščią <TD /> duomenis įtraukti jį kaip gerai, kad grupės išsiskyrė daug geriau.
    Site1
    datacolumn1 datacolumn2 datacolumn3 ir tt

    datacolumn1 datacolumn2 datacolumn3 ir tt
    Site2
    datacolumn1 datacolumn2 datacolumn3 ir tt
    Site3

    datacolumn1 datacolumn2 datacolumn3 ir tt

    datacolumn1 datacolumn2 datacolumn3 ir tt
    ir tt.
    Atsakyti
  8. Zoltan
    Sveiki Paul,
    Dėkojame už pranešimą, man pavyko surengti mano užklausos rezultatus tinklelyje, tai labai naudinga. Tačiau, Man reikia eiti toliau ir grupė mano rezultatai pagal svetaines. Šiuo metu, Svetainės pavadinimai pateikiami pirmi, ir tada ten yra tik vienas didelis tinklelis rinkti visas eilutes iš įvairių svetainių. Kažką panašaus:
    Site1 pavadinimas
    Site2 pavadinimas
    Duomenų tinklelis visiems puslapiams
    Any ideas kas turėtų pakeisti siekiant gauti duomenys taip:
    Site1 pavadinimas
    Duomenų tinklo Site1
    Site2 pavadinimas
    Duomenų tinklo Site2
    Ačiū iš anksto,
    Zoltan
    Atsakyti
  9. Pierre Žuberas
    Fantastiška paštu, išspręsti mano problemą turėjau.
    Mano vienintelis klausimas rodo lauką Priskirta (AssignedTo), Aš jį sukonfigūruoti "vartotojas" lauko tipas ir importuoti žiniatinklio dalies tada rodo šią klaidą:
    "Įvyko klaida nuskaitant duomenis Rodyti šios tinklapio dalies."
    Aš išbandžiau naudoti visų galimų laukų tipų, nieko kito vartotojo"" ji nerodo klaidos, bet ji neturi Rodyti nieko lauke. So I 'm darant vartotojo lauko tipas yra teisinga, todėl aš turi būti trūksta parametras kažkur.
    Jokių minčių apie tai?
    Linkėjimai
    Pierre
    Atsakyti
  10. Charftong
    Didžiosios paštu!!! Labai labai naudinga.
    Greitas klausimas, ar jūs padaryti bet kokį darbą dėl parodyta priskirta (AssignedTo) arba ModifiedBy srityse buvimą? Dėl tam tikrų priežasčių, kiekvieną kartą, kai aš stengiuosi dipslay, paskirta lauke ir CQWP, jis visada rodo kaip pavyzdį "203;#Charf Tong". Aš negaliu rasti būdas išspręsti šią.
    Atsakyti
  11. Jennifer Davis
    Paul
    Puikus straipsnis, ačiū. Aš darau labai panašiai, bet Rodyti nuorodą į projekto svetainę bet ne sąraše. Pvz., mes turime 25 aukščiausio lygio projektų vietose ir viena būti su turinio tipų sąrašas. Tai yra projekto pavadinimas, Skyrius, Aprašymas. Aš noriu naudoti turinio užklausos žiniatinklio dalis traukti šiuos duomenis ir pavyko išskyrus tai, kad pagal numatytuosius parametrus URL priima mane į įrašo į sąrašą ir aš tikrai reikia priimti mane į projekto svetainėje. ar galite duoti man patarti?
    ačiū
    Jen
    Atsakyti
  12. Paul Galvin
    Kieren,
    Aš visada naudoti visual studio redaguoti XSL. Ji suteikia spalvų kodavimo ir ji taip pat turi tam tikrą gera intellisense paramą.
    –Paul
    Atsakyti
  13. Juozas rašė:

    Max Paul,

    Dirbant su xml/xsl ir turinio užklausos žiniatinklio dalis, gal ir jūs kūrybingai jokių gerų būdų, kaip formatuoti savo xslt? Bando atlikti keitimus ir išbandyti dizainas yra įrodyti tinkamą skausmas į a ** tik naudodami teksto rengyklę…

    Su geriausiais linkėjimais

    Atsakyti
  14. Michael Dipay
    Klausimo aš turintys paskutinį kartą kai ji neturi Rodyti vaizdus iš tinklelio rodinį bet vietoj rodo tekstą (https://myweb.com/Marketing/images/icn-order.gif,). Man pavyko ją išspręsti naudojant SharePoint Designer sukurti pasirinktinį rodinį ir pasirinkdami pasirinktinius stulpelius, kuriuos noriu Rodyti. Aš sužinojau, kad vaizdai jo stulpelio tipas yra rodomas kaip URL(kablelis) (pvz.. https://myweb.com/Marketing/images/icn-order.gif,). Dabartinis formatas yra tekstas, todėl aš jį pakeisti į paveikslėlį iš bendro xsl:vertė-apie užduotis-> Formatas kaip PAVEIKSLĖLĮ. Tai keisti ekrano į pasirinktinius vaizdus, kuriuos aš norėjau parodyti. Nukopijavau kodas rodo vaizdą ( <IMG pasienio ="0" src = "{dalinė eilutė-prieš(@IcnOrder, ‘, ‘)}" /> ) Ir ItemStyle.xsl faile turi pakeisti ir iš @PICTURECOLUMNNAME kodas <IMG pasienio ="0" src = "{dalinė eilutė-prieš(@IcnOrder, ‘, ‘)}" /> . Tada įrašykite jį. Dabar mano lentelės tinklelis rezultatai rodo tekstą, taip pat pasirinktiniai vaizdo įveskite stulpelių.
    Atsakyti
  15. Helen
    Max Paul,
    Dėkojame, kad puikus straipsnis!
    Jūs minėjote, sąlyginį formatavimą – "Jūs galite taip pat įdėti į sąlyginį formatavimą, pvz.: projektų, kurie viršijo savo biudžeto raudonai." Do you happen to turėti kodo pavyzdį, kad?
    Ačiū dar kartą!
    Helen
    Atsakyti
  16. Michael Dipay
    Max Paul,
    Jis buvo didelis straipsnis ir turėjo galimybę gauti tuos pačius rezultatus kaip tikėtasi. Aš būti įgijęs Rodyti vaizdą tinklelio kaip vienas iš jo stulpelius. Ji nėra rodo vaizdą ant grotelių, bet vietoj to rodo url vaizdas, kuriame yra (,) kablelis po tam.
    (pvz.. https://myweb.com/Marketing/images/icn-order.gif, )
    Turi būti naudojamas vaizdas arba nuotraukų CommonViewFields lauko tipas? (pvz.. InternalColumnName, Vaizdas)
    ačiū,
    Mike
    Atsakyti
  17. Aivaras Ijiyemi

    Jūsų pranešimas yra būtent tai, ko aš ieškojau. Tačiau, I can't get it dirbti.

    Turiu dokumentus, kurie saugomi įvairiais doc. bibliotekų bet kurios custom klasė stulpelinę (pasirinkimas: 1 arba 2. Noriu naudoti CQWP parodyti šių dokumentų pagal jų klasės.
    Man pavyko įtraukti į CQWP, eksportuoti į BPD, Konfigūruoti itemStyle.xls parodyti užsakymą užpildyti sąrašo rodinyje. Tačiau, Aš galėtų sėkmingai įgyvendina ką jūs apibrėžtumėte čia.

    Tai yra aš noriu parodyti savo CQWP skiltys:

    Failo tipas (Rodyti piktogramą)
    Failo pavadinimas
    Paskutinio modifikavimo datą
    Pakeitimais, padarytais kurie
    Paimtas ir užrakintas
    Patikrinti komentarus

    Dabar aš rezultatas sąrašo formatą. Kaip man jį pasikeisti į talble formatą.

    ačiū.

    Selenas

    Atsakyti

palik atsakymą

Jūsų elektroninio pašto adresas nebus skelbiamas. Privalomi laukai yra pažymėti *