Vise indhold forespørgslen Web del resultater i et gitter / Tabel

Overblik og mål

Ud af boksen, MOSS’ Webdelen til indholdsforespørgsel (CQWP) viser sine resultater i en listeformat, ligner søgeresultater. Det er også muligt at få vist resultaterne i et gitter format (dvs. HTML-tabelformat). Gitter formater er bedre i nogle tilfælde. Jeg beskriver hvordan man opnår effekten i denne artikel.

Forretningsscenario

Jeg har arbejdet med en klienten på en enterprise-wide MOSS udrulningen. Vi har designet deres taksonomi, således at projekter er første klasses borgere i hierarkiet og har deres eget websted på øverste niveau. Projektledere opretholde en singleton liste over projekt oversigtsoplysninger, som titlen, budget, forventet afslutningsdato, resterende budget og andre opsummeringstype felter. Ved "singleton" Jeg mener en brugerdefineret SharePoint-liste garanteret indeholder kun ét element. Simplistisk, Det ser sådan ud:

billede

Den tekniske tilgang er meget det samme som beskrevet Her (http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!447.entry). CQWP bruger en XSL-transformering til at udlede HTML for browseren at gengive.

Jeg forestille altid resultatet før dykke ned i XSL, fordi XSL er et mareridt. Her er min ønskede resultat:

billede

HTML som dette genererer som følge:

<HTML>
 <kroppen>
 <Center>
 <tabel grænsen= 1>

<!-- Etiketter-->
 <Tr BgColor= blå>
 <TD><skrifttype farve= hvid><b>Projektnavn</b></skrifttype></TD>
 <TD Juster= højre><skrifttype farve= hvid><b>Komplet dato</b></skrifttype></TD>
 <TD Juster= højre><skrifttype farve= hvid><b>Budget</b></skrifttype></TD>
 <TD Juster= højre><skrifttype farve= hvid><b>Faktiske udgift</b></skrifttype></TD>
 <TD><skrifttype farve= hvid><b>Overordnede Status</b></skrifttype></TD>
 </Tr>

<Tr>
 <TD>Re-wire edb-rum.</TD>
 <TD Juster= højre>02/01/08</TD>
 <TD Juster= højre>22,500.00</TD>
 <TD Juster= højre>19,000.00</TD>
 <TD>I gang</TD>
 </Tr>

<Tr>
 <TD>Bestemmelse servere for SQL Upgrade</TD>
 <TD Juster= højre>04/01/08</TD>
 <TD Juster= højre>7,500.00</TD>
 <TD Juster= højre>0.00</TD>
 <TD>Planlagt</TD>
 </Tr>

</tabel>
 </Center>
 </kroppen>
</HTML>

Tilgang

Følg disse trin for at oprette gitteret:

  1. Identificere komponenter i gitteret (rækker/kolonner).
  2. Definere og oprette nødvendige webstedskolonner.
  3. Oprette sub websteder for projekter og singleton lister.
  4. Tilføje en CQWP til en webside og konfigurere den til at søge efter dine lister.
  5. Ændre den CQWP XML til at samle op på de yderligere kolonner.
  6. Redigere XSL-koden for at generere en tabel.

Jeg vil koncentrere mig om nummer seks. Tal en gennem fire er ligetil og noget, som enhver CQWP bruger allerede har gjort. Nummer fem er blevet veldokumenteret af andre, herunder denne udtømmende skærmbillede belæsset artikel fra MSDN Her (http://msdn2.microsoft.com/en-us/library/bb897399.aspx) og Heather Solomon's blog Her (http://www.heathersolomon.com/blog/articles/CustomItemStyle.aspx).

Møtrikker og bolte

Indlede og gennemføre trin et til fem ifølge dokumentationen til MSDN og Heather Solomons artikel.

På dette punkt, du har tilføjet din CQWP til siden og du har din <CommonViewFields> konfigureret efter behov.

Efter de sædvanlige fremgangsmåde, Jeg får disse mellemliggende resultater:

1. Opret en indholdstype, en templatized brugerdefineret liste for denne indholdstype og to websteder. Her er den type indhold:

billede

Her er lokationsstrukturen:

billede

2. Tilføj CQWP efter at skabe mit projekt underordnede websteder og singleton projekt sammenfattende lister:

billede

3. Tilføj alle de yderligere oplysninger, vil jeg via den <CommonViewFields>:

        <Egenskaben Navn="CommonViewFields" type="streng">Project_x0020_Name;Project_x0020_Expenses;Project_x0020_Status;Project_x0020_Start_x0020_Date;Project_x0020_End_x0020_Date;Project_x0020_Budget</Egenskaben>

Bemærk, at jeg var nødt til at holde alle egenskabsfelter på én linje, eller det ville ikke arbejde (CQWP ville fortælle mig, at forespørgslen returnerede ingen emner).

4. På dette punkt, Vi er klar til at bevæge sig ud over i MSDN-artiklen og flip på over til Heather Solomons artikel. Følg hende trin starter i nærheden af trin #5 oprette en tilpasset / unghosted version af ItemStyle.xsl. Jeg følger Heathers rådgivning, op gennem skridt 11 og få disse mellemliggende resultater:

4.1: Nævne min XSL-skabelon som følger:

<XSL:skabelonnavn = "gitter" matche = "træk[@Style = 'Grid']" mode = "itemstyle">

Jeg ændre også lidt hende foreslog <XSL:for hver …> ved at tilføje en <BR /> Tag til at give et renere notering:

    <XSL:for hver Vælg="@*">
      P:<XSL:værdi af Vælg="Navn()" /><br/>
    </XSL:for hver>

4.2: Jeg redigere webdelen, gå til udseende og vælge mine "gitter" stil:

billede

Anvende ændringen og her er resultatet:

billede

Vi kan se fra ovenstående, at felterne, vi vil (Projektnavn, udgift, status, osv) er tilgængelige for os at bruge, når vi udsender HTML. Ikke kun det, men vi se de navne, som vi skal henvise til disse kolonner i XSL. For eksempel, Vi henviser til projektets Status som "Project_x005F_x0020_Name".

På dette punkt, Vi afgår fra Heather's blog og fra skuldrene af disse giganter, Jeg tilføje min egen lille smule.

ContentQueryMain.xsl

NOTE: Når du foretager ændringer til både ContentQueryMain.xsl og ItemStyle.xsl, Du skal tjekke disse filer tilbage i, før du kan se effekten af dine ændringer.

Henblik på nettet-gøre, MOSS bruger to forskellige XSL-filer til at producere de resultater, vi ser fra en CQWP. Til at generere den tidligere bit output, Vi ændrede ItemStyle.xsl. MOSS bruger faktisk en anden XSL-fil, ContentQueryMain.xsl til i forbindelse med ItemStyle.xsl til at generere sin HTML. Som navnet antyder, ContentQueryMain.xsl er "vigtigste" XSL, der styrer den samlede strøm af Oversættelse. Det gentager listen over alle de fundne genstande og passerer dem én efter én til skabeloner i ItemStyle.xsl. Vi vil ændre ItemStyle.xsl for at generere åbne <tabel> Tag før udsender den første række af data og lukning <tabel> Tag efter udsender den sidste række. At opnå dette, ContentQueryMain.xsl er ændret for at passere to parametre til vores "gitter" skabelon i ItemStyle.xsl, "sidste række" og "aktuel række". ItemStyle.xsl bruger disse betinget udleder de nødvendige tags.

Ved hjælp af Heather Solomon teknik, vi finde ContentQueryMain.xsl. Det er beliggende i samme sted som ItemStyle.xsl. Dette skærmbillede bør hjælpe:

billede

Vi har brug for at foretage følgende ændringer:

  • Ændre en XSL-skabelon, "CallItemTemplate" der faktisk påberåber sig vores gitter skabelon i ItemStyle.xsl. Vi vil passere to parametre til skabelonen gitter, således at det får de data, det skal generere betinget åbning og lukning <tabel> Tags.
  • Ændre en anden lidt af ContentQueryMain.xsl, der kalder "CallItemTemplate" at give den en "LastRow" parameter, således at LastRow kan blive videregivet til vores gitter skabelon.

Find den skabelon opkaldt "OuterTemplate.CallItemTemplate" identificeret af strengen:

  <XSL:skabelon Navn="OuterTemplate.CallItemTemplate">

Erstatte hele skabelonen som følger:

  <XSL:skabelon Navn="OuterTemplate.CallItemTemplate">
    <XSL:Param Navn="CurPosition" />

    <!--
      Tilføj "LastRow" parameter.
      Vi kun bruger det når varen stil pass i er "Grid".
    -->
    <XSL:Param Navn="LastRow" />

    <XSL:Vælg>
      <XSL:Hvornår test="@Style = 'NewsRollUpItem'">
        <XSL:anvende skabeloner Vælg="." mode="itemstyle">
          <XSL:med param Navn="EditMode" Vælg="$cbq_iseditmode" />
        </XSL:anvende skabeloner>
      </XSL:Hvornår>
      <XSL:Hvornår test="@Style = 'NewsBigItem'">
        <XSL:anvende skabeloner Vælg="." mode="itemstyle">
          <XSL:med param Navn="CurPos" Vælg="$CurPosition" />
        </XSL:anvende skabeloner>
      </XSL:Hvornår>
      <XSL:Hvornår test="@Style = 'NewsCategoryItem'">
        <XSL:anvende skabeloner Vælg="." mode="itemstyle">
          <XSL:med param Navn="CurPos" Vælg="$CurPosition" />
        </XSL:anvende skabeloner>
      </XSL:Hvornår>

      <!--
              Pass aktuelle position og lastrow gitter itemstyle.xsl skabelon.
              ItemStyle.xsl vil bruge det til at udlede åbne og lukke <tabel> Tags.
      -->
      <XSL:Hvornår test="@Style = 'Grid'">
        <XSL:anvende skabeloner Vælg="." mode="itemstyle">
          <XSL:med param Navn="CurPos" Vælg="$CurPosition" />
          <XSL:med param Navn="Seneste" Vælg="$LastRow" />
        </XSL:anvende skabeloner>
      </XSL:Hvornår>

      <XSL:ellers>
        <XSL:anvende skabeloner Vælg="." mode="itemstyle">
        </XSL:anvende skabeloner>
      </XSL:ellers>
    </XSL:Vælg>
  </XSL:skabelon>

Kommentarer beskriver formålet med ændringerne.

Selvfølgelig, "OuterTemplate.CallItemTemplate" hedder sig selv fra en anden skabelon. Find skabelonen ved at søge efter denne tekststreng:

<XSL:skabelon Navn="OuterTemplate.Body">

Gennemse vejledningen i OuterTemplate.Body og indsætte parameteren LastRow som følger (vist som en kommentar i kursiv):

<XSL:Call-skabelon Navn="OuterTemplate.CallItemTemplate">
  <XSL:med param Navn="CurPosition" Vælg="$CurPosition" />
  <!-- Indsætte parameteren LastRow. -->
  <XSL:med param Navn="LastRow" Vælg="$LastRow"/>
</XSL:Call-skabelon>

Efter alt dette, Endelig har vi ting sat rigtigt op, således at vores ItemStyle.xsl kan udsende <tabel> Tags på det rigtige sted.

ItemStyle.Xsl

NOTE: Igen, Tjek i ItemStyle.xsl efter at gøre eventuelle ændringer, så du kan se effekten af ændringerne.

Vi har to opgaver her:

  • Erstatte skabelonen hele gitteret. Du kan kopiere/indsætte nedefra.
  • Tilføje nogle mumbo jumbo udenfor skabelondefinitionen, der giver mulighed for "formatcurrency" skabelon til arbejde. (Du kan fortælle, at jeg har en svag håndtag på XSL).

Første, nær toppen af ItemStyle.xsl, Tilføj denne linje:

  <!-- Nogle mumbo jumbo, der gør det muligt for os at vise os. valuta. -->
  <XSL:decimal-format Navn="personale" ciffer="D" />

  <XSL:skabelon Navn="Standard" match="*" mode="itemstyle">

Bemærk at jeg tilføjede det direkte før den <XSL:skabelonnavn = "standard" …> definition.

Næste, gå tilbage til vores gitter skabelon. Erstatte skabelonen hele gitteret med koden nedenfor. Det er grundigt kommenterede, men tøv ikke med at email mig eller efterlade kommentarer på min blog, hvis du har spørgsmål.

  <XSL:skabelon Navn="Gitter" match="Række[@Style = 'Grid']" mode="itemstyle">

    <!--
      ContentMain.xsl passerer CurPos og sidste.
      Vi bruger disse til betinget udsender åbne og lukke <tabel> Tags.
    -->
    <XSL:Param Navn="CurPos" />
    <XSL:Param Navn="Seneste" />

    <!-- Følgende variabler er uændret fra den standard ItemStyle.xsl -->
    <XSL:variabel Navn="SafeImageUrl">
      <XSL:Call-skabelon Navn="OuterTemplate.GetSafeStaticUrl">
        <XSL:med param Navn="UrlColumnName" Vælg="'ImageUrl'"/>
      </XSL:Call-skabelon>
    </XSL:variabel>
    <XSL:variabel Navn="SafeLinkUrl">
      <XSL:Call-skabelon Navn="OuterTemplate.GetSafeLink">
        <XSL:med param Navn="UrlColumnName" Vælg="'LinkUrl'"/>
      </XSL:Call-skabelon>
    </XSL:variabel>
    <XSL:variabel Navn="DisplayTitle">
      <XSL:Call-skabelon Navn="OuterTemplate.GetTitle">
        <XSL:med param Navn="Titel" Vælg="@Title"/>
        <XSL:med param Navn="UrlColumnName" Vælg="'LinkUrl'"/>
      </XSL:Call-skabelon>
    </XSL:variabel>
    <XSL:variabel Navn="LinkTarget">
      <XSL:Hvis test="@OpenInNewWindow = "True"" >_blank</XSL:Hvis>
    </XSL:variabel>

    <!--
      Her definere vi en variabel, "tableStart".  Dette indeholder HTML-koden, som vi bruger til at definere åbningen af tabellen samt kolonneetiketterne.  Bemærk, at hvis CurPos = 1, Det indeholder HTML-koden i et CDATA-tag.
      Ellers, det vil være tom.

      Værdien af tableStart er emited hver gang ItemStyle kaldes via ContentQueryMain.xsl.
    -->
    <XSL:variabel Navn="tableStart">
      <XSL:Hvis test="$CurPos = 1">
        <![CDATA[
        <tabel border = 1>
          <TR bgcolor = "blå">
            <TD><font color = "hvid"><b>Projektnavn</b></skrifttype></TD>
            <TD align = "right"><font color = "hvid"><b>Komplet dato</b></skrifttype></TD>
            <TD align = "right"><font color = "hvid"><b>Budget</b></skrifttype></TD>
            <TD align = "right"><font color = "hvid"><b>Faktiske udgift</b></skrifttype></TD>
            <TD><font color = "hvid"><b>Overordnede Status</b></skrifttype></TD>
          </Tr>
        ]]>
      </XSL:Hvis>
    </XSL:variabel>

    <!--
      En anden variabel, tableEnd simpelthen definerer afsluttende tabel tag.

      Som med tableStart, Det er altid emited.  Dette er grunden til, at dens værdi er tildelt betinget baseret på om vi har været forbi den sidste række ContentQueryMain.xsl.
    -->
    <XSL:variabel Navn="tableEnd">
      <XSL:Hvis test="$CurPos = $Last">
        <![CDATA[ </tabel> ]]>
      </XSL:Hvis>
    </XSL:variabel>

    <!--
      Altid udsende indholdet af tableStart.  Hvis dette ikke er den første række videre til os af ContentQueryMain.xsl, så vi ved dens værdi bliver tom.

      Deaktiverer output flygter fordi når tableStart det ikke tom, Det omfatter faktiske HTML, som vi ønsker skal gengives af browseren.  Hvis vi ikke fortæller output XSL-parseren til at deaktivere flygter, det vil generere ting som"&lt;tabel&gt;" i stedet for"<tabel>".
    -->
    <XSL:værdi af Vælg="$tableStart" Deaktiver-output-undslippe="Ja"/>


    <Tr>
      <!--
      P:Project_x005F_x0020_Name Pedersen:Project_x005F_x0020_End_x005F_x0020_Date Pedersen:Project_x005F_x0020_Budget Pedersen:Project_x005F_x0020_Expenses Pedersen:Project_x005F_x0020_Status
      -->
      <TD>
        <XSL:værdi af Vælg="@Project_x005F_x0020_Name"/>
      </TD>

      <TD Juster="højre">
        <XSL:værdi af Vælg="@Project_x005F_x0020_End_x005F_x0020_Date"/>
      </TD>

      <TD Juster="højre">
        <XSL:Call-skabelon Navn="FormatCurrency">
          <XSL:med param Navn="værdi" 
Vælg="@Project_x005F_x0020_Budget"></XSL:med param> </XSL:Call-skabelon> </TD> <TD Juster="højre"> <XSL:Call-skabelon Navn="FormatCurrency"> <XSL:med param Navn="værdi" Vælg="@Project_x005F_x0020_Expenses">
</XSL:med param> </XSL:Call-skabelon> </TD> <TD> <XSL:værdi af Vælg="@Project_x005F_x0020_Status"/> </TD> <!-- Alle de følgende er kommenteret ud for at afklare tingene. Dog, Bring det tilbage og kram det ind i en <TD> at se dets effekt. --> <!-- <div id = "linkitem" Class = "element"> <XSL:Hvis test = "strenglængde($SafeImageUrl) != 0"> <div class = "billede-området-venstre"> <en href = "{$SafeLinkUrl}" Target = "{$LinkTarget}"> <IMG class = "billede-fast-bredde" src = "{$SafeImageUrl}"
alt = "{@ImageUrlAltText}"/> </en> </div> </XSL:Hvis> <div class = "link-vare"> <XSL:Call-skabelon
Name="OuterTemplate.CallPresenceStatusIconTemplate"/> <en href = "{$SafeLinkUrl}"
Target = "{$LinkTarget}" title = "{@LinkToolTip}"> <XSL:værdien af Vælg = "$DisplayTitle" /> </en> <div class = "beskrivelse"> <XSL:værdien af select="@Description" /> </div> </div> </div>
--> </Tr> <!-- Udsender afsluttende tabel tag. Hvis vi ikke er på den sidste række, Dette vil være tom. --> <XSL:værdi af Vælg="$tableEnd" Deaktiver-output-undslippe="Ja"/> </XSL:skabelon> <XSL:skabelon Navn="FormatCurrency"> <XSL:Param Navn="værdi" Vælg="0" /> <XSL:værdi af Vælg='format-nummer($værdi, "$DDD,DDD,DDD. DD", "personale")' /> </XSL:skabelon>

22 tanker om ”Vise indhold forespørgslen Web del resultater i et gitter / Tabel

  1. Andreas

    AAH… Det var fordi jeg kaldte min opstillingstypografi forskelligt og var ikke klar over, at i ContentQueryMain.xsl det kontrollerer for "stil":

    <XSL:Når test="@Style='NameOfMyStyle'">

    Med, omdøbt arbejdede sig. 🙂

    Svar
  2. Andreas

    Det næsten arbejdede nemlig mig: Jeg formår at udgang den </tabel> ende tag korrekt, men start tag mangler. Det synes testen = "$CurPos = 1" ikke returnerer sandt. Men hvorfor?

    Svar
  3. Anand singh Rawat

    Stor Post. Paul, jeg har gjort alle de ovennævnte ting. Jeg har en forespørgsel, Hvordan kan jeg opnå summen af "samlede faktiske udgifter" eller summen af værdien af to kolonner.

    Svar
  4. Lisa

    Du har gjort noget arbejde med oprettelse af brugerdefinerede ContentQueryMain og ItemStyle XSL-filer? Grunden til jeg spørger er at jeg ikke ønsker at bekymre sig om min brugerdefinerede typografier overskrives med patches eller opgraderinger. Har du eksempler? Jeg har prøvet at lave en identisk kopi af ContentQueryMain.xsl og uploade den nye brugerdefinerede kopi til typografibiblioteket. Når de lægger en henvisning til denne XSL-fil i den .webpart MainXslLink ejendom, Jeg får 401 ikke godkendt. Brugerdefinerede XSL-filen er en udgivet version og alle har læseadgang til det.

    Svar
  5. Greg Sheridan

    Hej, Dette var en virkelig nyttige udstationering. Jeg har det alle arbejder, og også gennemført Mike Browns ændring så det grupper
    resultater inde i tabellen ved at uanset hvad jeg vælger som Group By-parameter i de CQWB egenskaber.
    Jeg lavede titlen et link også, så det virker fint. Jeg har stadig et problem, Selvom. Jeg gruppering resultaterne af navn på websted. Inde i tabellen, den grupperer dem pænt, og det ser flot ud, men det er stadig udskrivning ud alle gruppe
    navne(i mit tilfælde websted navne) over bordet. Er der nogen vide, hvordan at slippe af med disse?
    Tak,
    Greg

    Svar
  6. Intet navn

    Nice artikel. Det lykkedes mig at give min tabel udseendet af standard Sharepoint-lister ved at analysere kildekoden til listen. Her er de vigtigste HTML-blokke for at passe ind i ItemStyle:

    <Tabelbredde = "100%" Class = "ms-listviewtable" Border = 0 cellspacing = 0 cellpadding = 1 dir = "Ingen">

    <!–HEADER–>
    <TR class = "ms-viewheadertr" VALIGN = TOP>
    <TH nowrap anvendelsesområde = "col" Class = "ms-vh2"><div stil = "bredde:100%;position:relative;venstre:0;Top:0;">
    <Tabeltypografi = "bredde:100%;" CtxNum = "1" højde = "100%" CellSpacing = 1 cellpadding = 0 klasse = "ms-unselectedtitle">
    <TR>
    <TD bredde = "100%" Class = "ms-vb" nowrap>
    Texte du titer ici

    </TD>
    <TD stil = "position:absolut;">
    </TD>
    </TR>
    </TABEL></div>
    </TH>

    <!–Gentag for alle overskriftsceller–>
    </TR>

    <!– Tabeldata –>
    <TR class = "">
    <!–Datakolonne, bruge Pauls kode for det første med hyperlinket –>
    <TD Class = "ms-vb2">Data her</TD>

    <!–Tom kolonne–>
    <TD Class = "ms-vb2">
    <span dir = ingen></span><
    /TD>

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

    <!–***Alternative række – Brug en ny XSL-variabel, der vil indsætte den alternative klasse baseret på den aktuelle række modulo 2–>
    <TR class = "ms-skiftevis">

    </TR>
    </TABEL>

    Svar
  7. Mike Brown
    Zoltan,
    Jeg arbejdede på samme problem som dig. Jeg ønskede alle mine elementer, der vises i en grupperet måde snarere end blot en lits. Her er hvordan jeg opnåede det.
    ContentQueryMain.xsl
    <XSL:Når test="@Style='Grid'">
    <XSL:anvende skabeloner vælger = "." mode = "itemstyle">
    <XSL:med param name = "CurPos" Vælg = "$CurPosition" />
    <XSL:med param navn = "sidste" Vælg = "$LastRow" />
    <!–tilføje dette nye afsnit i den parameter, der angiver en ny gruppe er begyndt–>
    <XSL:med param name = "StartNewGroup" Select="@__begingroup" />
    </XSL:anvende skabeloner>
    </XSL:Hvornår>
    ItemStyle.xsl
    Tilføje din parameter
    <XSL:Param name = "StartNewGroup" />
    Tilføj denne tekst som den første række af data
    <XSL:Vælg>
    <XSL:Når test = "$StartNewGroup ="True"">
    <Tr>
    <TD >
    <XSL:Call-template name="OuterTemplate.GetGroupName">
    <XSL:med param navn = "gruppenavn" Select="@*[Navn()= $Group]"/>
    <XSL:med param name = "GroupType" Vælg = "$GroupType" />
    </XSL:Call-skabelon>
    </TD>
    </Tr>
    </XSL:Hvornår>
    <XSL:ellers>
    </XSL:ellers>
    </XSL:Vælg>
    Dette bør tage sig af din gruppering spørgsmål i din gitter. Hver gruppe vil nu begynde med en ny række med angivelse af gruppenavn. I min løsning tilføjede jeg ligefrem en tom <TD /> i data at indrykke det så godt så stod grupperingen ud meget bedre.
    Site1
    datacolumn1 datacolumn2 datacolumn3 osv

    datacolumn1 datacolumn2 datacolumn3 osv
    Site2
    datacolumn1 datacolumn2 datacolumn3 osv
    Site3

    datacolumn1 datacolumn2 datacolumn3 osv

    datacolumn1 datacolumn2 datacolumn3 osv
    osv.
    Svar
  8. Zoltan
    Hej Paul,
    Tak nemlig opstille, Det lykkedes mig at arrangere min forespørgselsresultater i et gitter, der er meget hjælpsom. Dog, Jeg bør gå videre og gruppere mine resultater baseret på websteder. I øjeblikket, Websted navne vises først, og så der er kun én stor gitter indsamle alle rækkerne fra forskellige steder. Noget som dette:
    Site1 navn
    Site2 navn
    Data i gitteret for alle websteder
    Nogen ideer om hvad jeg skal ændre for at få mine data som følger:
    Site1 navn
    Data i gitteret for Site1
    Site2 navn
    Data i gitteret for Site2
    På forhånd tak,
    Zoltan
    Svar
  9. Pierre Joubert
    Fantastisk Post, løst mit problem, jeg havde.
    Mit eneste problem er at vise feltet TildeltTil, Jeg konfigurere det med "brugeren" felttypen og de importerede webdel viser derefter følgende fejl:
    "Der opstod en fejl under hentning af data til visning i denne webdel."
    Jeg har forsøgt at bruge alle mulige felttyper, med noget andet at "bruger" Det gør ikke display fejlen, men det viser ikke noget i feltet. Så jeg antager er feltet Brugertype korrekte, så jeg må være mangler en indstilling et eller andet sted.
    Nogen ideer om dette?
    Hilsen
    Pierre
    Svar
  10. Charftong
    Stor Post!!! Meget meget hjælpsom.
    Hurtigt spørgsmål, du har gjort noget arbejde på TildeltTil eller ModifiedBy felterne vises med tilstedeværelse? For anden grund, Når jeg forsøger at dipslay feltet tildelt i CQWP, Det viser altid med som eksempel "203;#Charf Tong". Jeg kan ikke finde en måde at omgå dette.
    Svar
  11. Jennifer Davis
    Paul
    Stor artikel, Tak. Jeg gør noget lignende men vil vise et link til projektets hjemmeside snarere end element på listen. For eksempel, Vi har 25 top level project-websteder, og hver indeholder en liste med indholdstyper. Disse er projektnavn, Division, Beskrivelse. Jeg vil bruge webdelen til indholdsforespørgsel til at trække denne data og lykkedes, bortset fra, at som standard URL tager mig post på listen og jeg skam savn sig at tage mig til projektets hjemmeside. Du kan give mig nogle gode råd?
    Tak
    Jen
    Svar
  12. Paul Galvin
    Kieren,
    Jeg bruge altid visual studio til at redigere XSL-koden. Det giver farvekodning og det har også nogle gode intellisense support.
    –Paul
    Svar
  13. Kieran skrev:

    Hej Paul,

    Når du arbejder med webdelen xml/xsl og indhold forespørgsel, du har fundet nogen gode måder at formatere din xslt? Forsøger at foretage ændringer og test design er at bevise en ret smerte i den en ** blot ved hjælp af en teksteditor…

    Alt det bedste

    Svar
  14. Michael Dipay
    Hvad angår spørgsmålet var jeg der sidste gang hvor det ikke viser billeder fra gittervisningen, men i stedet viser teksten (https://myweb.com/Marketing/images/icn-order.gif,). Jeg formår at løse det ved hjælp af SharePoint Designer ved at oprette brugerdefinerede visning og vælge de brugerdefinerede kolonner, som jeg ønsker at vise. Jeg fandt ud af at billeder kolonnetype vises som webadresse(komma) (strømsparetilstand. https://myweb.com/Marketing/images/icn-order.gif,). Det nuværende format er tekst, så jeg er nødt til at ændre det billede fra den almindelige xsl:værdien af opgaver-> Format som billede. Dette ændre visningen til de brugerdefinerede billeder, at jeg ønskede at vise. Jeg kopierede koden til at vise billedet ( <IMG grænse ="0" src = "{understreng-før(@IcnOrder, ‘, ‘)}" /> ) Og i ItemStyle.xsl fil jeg nødt til at ændre @PICTURECOLUMNNAME til koden <IMG grænse ="0" src = "{understreng-før(@IcnOrder, ‘, ‘)}" /> . Derefter gemme det. Nu skrive min tabel Gitterresultater at vise teksten samt den brugerdefinerede afbildning kolonner.
    Svar
  15. Helen
    Hej Paul,
    Tak nemlig den stor paragraf!
    De nævnte betinget formatering – "Du kan også sætte i betinget formatering, såsom visning af projekter, der har overskredet deres budget i rød." Du har tilfældigvis har en kodeeksempel for at?
    Tak igen!
    Helen
    Svar
  16. Michael Dipay
    Hej Paul,
    Det var en stor artikel og var i stand til at generere de samme resultater som forventet. Jeg har et krav om at vise et billede i gitteret som en af sine kolonner. Det ikke vise billedet på nettet, men i stedet viser url til billedet med en (,) komma i slutningen.
    (strømsparetilstand. https://myweb.com/Marketing/images/icn-order.gif, )
    Skal jeg bruge billed eller skildring i felttypen CommonViewFields? (strømsparetilstand. InternalColumnName, Billede)
    Tak,
    Mike
    Svar
  17. Gitte Ijiyemi

    Dit indlæg er præcis hvad jeg ledte efter. Dog, Jeg kan ikke få det til at virke.

    Jeg har dokumenter, der er gemt i forskellige doc. biblioteker men klassificeres ved hjælp af en brugerdefineret klasse kolonne (valg: 1 eller 2. Jeg vil bruge CQWP til at vise disse dokumenter baseret på deres klasse.
    Jeg var i stand til at tilføje en CQWP, eksportere det til SPD, konfigurere itemStyle.xls for at vise brugerdefinerede fileds i liste-view. dog, Jeg kunne ikke med succes gennemføre hvad du beskriver her.

    Disse er de kolonner, jeg vil vise i min CQWP:

    Filtype (at vise ikonet)
    Filen titel
    Dato for sidste ændring
    Ændret ved der
    Tjekket ud til
    Kontrolleres i kommentarer

    Jeg har i øjeblikket resultatet i listeformat. Hvordan kan jeg ændre det til en talble format.

    Tak.

    Katrine

    Svar

Efterlad et svar

Din e-mail adresse vil ikke blive offentliggjort. Krævede felter er markeret *