Vertoon inhoud Query Web Deel resultate in 'n rooster / Tabel

Oorsig en objektiewe

Uit die boks, MOSS’ Inhoud Query Web Deel (CQWP) toon die resultate in 'n lys formaat, similar to search results. It is also possible to display the results in a grid format (d.w.z. HTML tabel formaat). Grid formats are better in some circumstances. I describe how to achieve that effect in this article.

Besigheid scenario

I have worked with a client on an enterprise-wide MOSS rollout. We have designed their taxonomy such that projects are first class citizens in the hierarchy and have their own top level site. Project managers maintain a singleton list of project summary information, soos 'n titel, begroting, verwagte datum van voltooiing, remaining budget and other summary type fields. By "singleton" I mean a custom SharePoint list guaranteed to contain only one item. Simplistically, Dit lyk soos volg:

beeld

Die tegniese benadering is baie dieselfde soos beskryf hier (http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!447.entry). The CQWP uses an XSL transform to emit HTML for the browser to render.

I always envision the result before diving into the XSL because XSL is a nightmare. Here’s my desired result:

beeld

HTML soos hierdie genereer, wat die resultaat:

<html>
 <liggaam>
 <sentrum>
 <tafel grens= 1>

<!-- Labels ->
 <tr bgcolor= Blou>
 <td><is kleur= Wit><b>Naam van die projek</b></is></td>
 <td lyn= Reg><is kleur= Wit><b>Volledige datum</b></is></td>
 <td lyn= Reg><is kleur= Wit><b>Begroting</b></is></td>
 <td lyn= Reg><is kleur= Wit><b>Werklike uitgawes</b></is></td>
 <td><is kleur= Wit><b>Algemene status</b></is></td>
 </tr>

<tr>
 <td>Re-draad rekenaar kamer.</td>
 <td lyn= Reg>02/01/08</td>
 <td lyn= Reg>22,500.00</td>
 <td lyn= Reg>19,000.00</td>
 <td>Aan die gang</td>
 </tr>

<tr>
 <td>Voorsiening bedieners vir SQL Upgrade</td>
 <td lyn= Reg>04/01/08</td>
 <td lyn= Reg>7,500.00</td>
 <td lyn= Reg>0.00</td>
 <td>Beplande</td>
 </tr>

</tafel>
 </sentrum>
 </liggaam>
</html>

Benadering

Volg hierdie stappe om die rooster te skep:

  1. Identifiseer die komponente van die rooster (rye / kolomme).
  2. Definieer en die skep van die nodige site kolomme.
  3. Skep sub terreine vir die projekte en Singleton lyste.
  4. Voeg die CQWP by 'n webblad en instel om dit te soek vir jou lyste.
  5. Verander die CQWP se XML in te samel om die bykomende kolomme.
  6. Verander die XSL 'n tafel te genereer.

I’m going to concentrate on number six. Numbers one through four are straight-forward and something that any CQWP user has already done. Number five has been well-documented by others including this exhaustive screen-shot laden article from MSDN hier (http://msdn2.microsoft.com/en-us/library/bb897399.aspx) Heather Salomo se blog hier (http://www.heathersolomon.com/blog/articles/CustomItemStyle.aspx).

Boute en moere

Stappe een deur vyf soos per die MSDN dokumentasie en Heather Salomo se artikel te begin en te implementeer.

Op hierdie punt, jy het bygevoeg van jou CQWP na die bladsy en jy het jou <CommonViewFields> ingestel soos nodig.

Na aanleiding van die gewone stappe, Ek kry hierdie intermediêre resultate:

1. Skep 'n tipe inhoud, a templatized custom list for that content type and two sites. Here is the content type:

beeld

Hier is die site struktuur:

beeld

2. Voeg die CQWP na die skep van my projek subsites en Singleton projek opsommingslyste:

beeld

3. Voeg al die bykomende inligting wat ek wil via die <CommonViewFields>:

        <eiendom naam="CommonViewFields" tipe="string">Project_x0020_Name;Project_x0020_Expenses;Project_x0020_Status;Project_x0020_Start_x0020_Date;Project_x0020_End_x0020_Date;Project_x0020_Budget</eiendom>

Let daarop dat ek moes al die velde van die eiendom op een lyn te hou, of dit sal nie werk nie (CQWP sal vir my sê dat die navraag geen items teruggekeer).

4. Op hierdie punt, we’re ready to move beyond the MSDN article and flip on over to Heather Solomon’s article. Follow her steps starting near step #5 'n maat te skep / unghosted version of ItemStyle.xsl. I follow Heather’s advice, tot deur stap 11 en kry hierdie intermediêre resultate:

4.1: Noem my XSL sjabloon soos volg::

<xsl:template name = "Grid" ooreenstem met = "Ry[@Style=’Grid’]" mode = "itemstyle">

Ek het ook effens verander haar voorgestel <xsl:vir-elke …> deur die byvoeging van 'n <br /> tag 'n skoner lys te voorsien:

    <xsl:vir-elke kies="@ *">
      P:<xsl:waarde van kies="naam()" /><br/>
    </xsl:vir-elke>

4.2: Ek verander die web deel, gaan na die voorkoms en kies my "Grid" styl:

beeld

Pas die verandering en hier is die resultaat:

beeld

Ons kan sien uit bogenoemde dat die lande wat ons wil (Projek naam, koste, status, ens.) are available for us to use when we emit the HTML. Not only that, but we see the names by which we must reference those columns in the XSL. Byvoorbeeld, ons verwysing projek status as "Project_x005F_x0020_Name".

Op hierdie punt, vertrek ons ​​van Heather se blog en van die skouers van die reuse, Ek voeg my eie bietjie.

ContentQueryMain.xsl

NOTA: Wanneer 'veranderings aan beide ContentQueryMain.xsl sowel as ItemStyle.xsl-, jy moet die lêers om terug in te gaan voor jy sien die effek van jou wysigings.

Vir rooster-up, MOSS uses two different XSL files to produce the results we see from a CQWP. To generate the previous bit of output, we modified ItemStyle.xsl. MOSS actually uses another XSL file, ContentQueryMain.xsl to in conjunction with ItemStyle.xsl to generate its HTML. As its name implies, ContentQueryMain.xsl is die "hoof" XSL that controls the overall flow of translation. It iterates through all the found items and passes them one by one to templates in ItemStyle.xsl. We’ll modify ItemStyle.xsl to generate the open <tafel> tag voor die afgee van die eerste ry van data en die sluitingsdatum <tafel> tag after emitting the last row. To accomplish this, ContentQueryMain.xsl verander twee parameters deur te gee aan ons "rooster" sjabloon in ItemStyle.xsl, "Laaste ry" and "current row". ItemStyle.xsl uses these to conditionally emit the necessary tags.

Met behulp van Heather Salomo se tegniek, we locate ContentQueryMain.xsl. It is located in the same place as ItemStyle.xsl. This screen shot should help:

beeld

Ons moet die volgende veranderinge aan te bring:

  • Verander 'n xsl sjabloon, "CallItemTemplate" that actually invokes our Grid template in ItemStyle.xsl. We will pass two parameters to the Grid template so that it will have the data it needs to conditionally generate opening and closing <tafel> tags.
  • Verander nog 'n bietjie van ContentQueryMain.xsl wat noem die "CallItemTemplate" dit 'n "LastRow om te slaag" parameter sodat LastRow gegee kan word aan ons Grid sjabloon.

Vind die sjabloon met die naam "OuterTemplate.CallItemTemplate" geïdentifiseer deur die tou:

  <xsl:sjabloon naam="OuterTemplate.CallItemTemplate">

Vervang die hele sjabloon soos volg:

  <xsl:sjabloon naam="OuterTemplate.CallItemTemplate">
    <xsl:stop naam="CurPosition" />

    <!--
      Voeg die "LastRow-" parameter.
      Ons gebruik dit net wanneer die item styl pas in "Grid".
    -->
    <xsl:stop naam="LastRow" />

    <xsl:kies>
      <xsl:toe toets="@ Style = 'NewsRollUpItem "">
        <xsl:pas-templates kies="." af="itemstyle">
          <xsl:met-param naam="Edit mode" kies="$cbq_iseditmode" />
        </xsl:pas-templates>
      </xsl:toe>
      <xsl:toe toets="@ Style = 'NewsBigItem "">
        <xsl:pas-templates kies="." af="itemstyle">
          <xsl:met-param naam="CurPos" kies="$CurPosition" />
        </xsl:pas-templates>
      </xsl:toe>
      <xsl:toe toets="@ Style = 'NewsCategoryItem "">
        <xsl:pas-templates kies="." af="itemstyle">
          <xsl:met-param naam="CurPos" kies="$CurPosition" />
        </xsl:pas-templates>
      </xsl:toe>

      <!--
              Slaag huidige posisie en lastrow tot die netwerk itemstyle.xsl sjabloon.
              ItemStyle.xsl sal gebruik om die oop en toemaak vry te stel <tafel> tags.
      -->
      <xsl:toe toets="@ Style = "Grid"">
        <xsl:pas-templates kies="." af="itemstyle">
          <xsl:met-param naam="CurPos" kies="$CurPosition" />
          <xsl:met-param naam="Laaste" kies="$LastRow" />
        </xsl:pas-templates>
      </xsl:toe>

      <xsl:anders>
        <xsl:pas-templates kies="." af="itemstyle">
        </xsl:pas-templates>
      </xsl:anders>
    </xsl:kies>
  </xsl:sjabloon>

Die kommentaar beskryf die doel van die veranderinge.

Natuurlik, die "OuterTemplate.CallItemTemplate-" is itself called from another template. Locate that template by searching for this text string:

<xsl:sjabloon naam="OuterTemplate.Body">

Blaai deur die instruksies in OuterTemplate.Body word en voeg die LastRow parameter soos volg (wat as 'n kommentaar in kursief):

<xsl:call-template naam="OuterTemplate.CallItemTemplate">
  <xsl:met-param naam="CurPosition" kies="$CurPosition" />
  <!-- Plaas die LastRow parameter. -->
  <xsl:met-param naam="LastRow" kies="$LastRow"/>
</xsl:call-template>

Na al hierdie, ons uiteindelik het dinge behoorlik opgestel sodat ons ItemStyle.xsl kan uitstraal <tafel> tags op die regte plek.

ItemStyle.Xsl

NOTA: Weer, kyk na die maak van enige veranderinge in ItemStyle.xsl sodat jy sien die effek van hierdie veranderinge.

Ons het twee take hier:

  • Replace the entire Grid template. You can copy/paste from below.
  • Voeg 'n bietjie Mumbo Jumbo buite die sjabloon definisie wat dit moontlik maak om "formatcurrency" template to work. (Jy kan jou vertel dat ek 'n vaag hanteer op XSL).

Eerste, naby die top van ItemStyle.xsl, voeg hierdie lyn:

  <!-- Sommige Mumbo Jumbo wat ons in staat stel om U.S te vertoon. geldeenheid. -->
  <xsl:desimale-formaat naam="personeel" syfer="D" />

  <xsl:sjabloon naam="Default" ooreenstem met="*" af="itemstyle">

Let daarop dat ek dit direk voor die bygevoeg <xsl:template name = "Default" …> definisie.

Volgende, go back to our Grid template. Replace the entire Grid template with the code below. It is thoroughly commented, maar nie huiwer om my te e-pos of kommentaar op my blog verlaat as jy vrae het.

  <xsl:sjabloon naam="Grid" ooreenstem met="Ry[@ Style = "Grid"]" af="itemstyle">

    <!--
      ContentMain.xsl gaan CurPos en die laaste.
      Ons gebruik hierdie voorwaardelik stoot die oop en toemaak <tafel> tags.
    -->
    <xsl:stop naam="CurPos" />
    <xsl:stop naam="Laaste" />

    <!-- Die volgende veranderlikes is onveranderd van die standaard ItemStyle.xsl -->
    <xsl:veranderlike naam="SafeImageUrl">
      <xsl:call-template naam="OuterTemplate.GetSafeStaticUrl">
        <xsl:met-param naam="UrlColumnName" kies="'ImageUrl ""/>
      </xsl:call-template>
    </xsl:veranderlike>
    <xsl:veranderlike naam="SafeLinkUrl">
      <xsl:call-template naam="OuterTemplate.GetSafeLink">
        <xsl:met-param naam="UrlColumnName" kies="'LinkUrl ""/>
      </xsl:call-template>
    </xsl:veranderlike>
    <xsl:veranderlike naam="Display">
      <xsl:call-template naam="OuterTemplate.GetTitle">
        <xsl:met-param naam="Titel" kies="@ Titel"/>
        <xsl:met-param naam="UrlColumnName" kies="'LinkUrl ""/>
      </xsl:call-template>
    </xsl:veranderlike>
    <xsl:veranderlike naam="LinkTarget">
      <xsl:indien toets="@ OpenInNewWindow = 'waar'" >_blank</xsl:indien>
    </xsl:veranderlike>

    <!--
      Hier het ons definieer 'n veranderlike, "TableStart".  Dit bevat die HTML
      .  Let daarop dat as CurPos = 1, Dit sluit in die HTML in 'n CDATA tag.
      Anders, dit sal leeg wees.

      Die waarde van tableStart emited elke keer ItemStyle genoem word via
      .
    -->
    <xsl:veranderlike naam="tableStart">
      <xsl:indien toets="$CurPos = 1">
        <![CDATA[
        <tafel grens = 1>
          <tr bgcolor = "blou">
            <td><font color = "wit"><b>Naam van die projek</b></is></td>
            <td align = "regte"><font color = "wit"><b>Volledige datum</b></is></td>
            <td align = "regte"><font color = "wit"><b>Begroting</b></is></td>
            <td align = "regte"><font color = "wit"><b>Werklike uitgawes</b></is></td>
            <td><font color = "wit"><b>Algemene status</b></is></td>
          </tr>
        ]]>
      </xsl:indien>
    </xsl:veranderlike>

    <!--
      'N ander veranderlike, tableEnd definieer eenvoudig die sluiting tafel tag.

      Soos met tableStart, dit altyd emited nie.  Dit is waarom die waarde daarvan
      .
    -->
    <xsl:veranderlike naam="tableEnd">
      <xsl:indien toets="$CurPos = $ Laaste">
        <![CDATA[ </tafel> ]]>
      </xsl:indien>
    </xsl:veranderlike>

    <!--
      Uitstraal altyd die inhoud van tableStart.  As dit is nie die eerste
      , dan weet ons die waarde daarvan
      .

      Uitset ontsnap afskakel omdat wanneer tableStart dit nie leeg is, dit
      .  As
      , dit sal genereer&Dit;tafel&gt;" in plaas van "<tafel>".
    -->
    <xsl:waarde van kies="$tableStart" skakel-uitset-ontsnap="ja"/>


    <tr>
      <!--
      P:Project_x005F_x0020_Name
      :Project_x005F_x0020_End_x005F_x0020_Date
      :Project_x005F_x0020_Budget
      :Project_x005F_x0020_Expenses
      :Project_x005F_x0020_Status
      -->
      <td>
        <xsl:waarde van kies="@ Project_x005F_x0020_Name"/>
      </td>

      <td lyn="reg">
        <xsl:waarde van kies="@ Project_x005F_x0020_End_x005F_x0020_Date"/>
      </td>

      <td lyn="reg">
        <xsl:call-template naam="formatCurrency">
          <xsl:met-param naam="waarde" 
kies="@ Project_x005F_x0020_Budget"></xsl:met-param> </xsl:call-template> </td> <td lyn="reg"> <xsl:call-template naam="formatCurrency"> <xsl:met-param naam="waarde" kies="@ Project_x005F_x0020_Expenses">
</xsl:met-param> </xsl:call-template> </td> <td> <xsl:waarde van kies="@ Project_x005F_x0020_Status"/> </td> <!-- Al van die volgende word gedraai om dinge te verduidelik. Egter, bring dit terug en stop dit in 'n <td> sy om te sien         . --> <!-- <div id = "linkitem" class = "item"> <xsl:indien toets = "string-lengte($SafeImageUrl) != 0 "> <div class = "SafeImageUrleft"> <a href = "{$SafeLinkUrl}" target = "{$LinkTarget}"> <img klas = "image-vaste-wydte" src = "{$SafeImageUrl}"
alt = "{@ ImageUrlAltText}"/> </1> </Div> </xsl:indien> <div class="link-item"> <xsl:call-template
name="OuterTemplate.CallPresenceStatusIconTemplate"/> <a href = "{$SafeLinkUrl}"
target = "{$LinkTarget}" title = "{@ LinkToolTip}"> <xsl:waarde van kies = "$ Display" /> </1> <div class = "Beskrywing"> <xsl:waarde van uitgesoekte = "@ Description" /> </Div> </Div> </Div>
--> </tr> <!-- Stoot die sluiting tafel tag. As ons nie op die laaste ry, dit sal leeg. --> <xsl:waarde van kies="$tableEnd" skakel-uitset-ontsnap="ja"/> </xsl:sjabloon> <xsl:sjabloon naam="formatCurrency"> <xsl:stop naam="waarde" kies="0" /> <xsl:waarde van kies="formaat-nommer($waarde, "$ DDD,DDD,DDD.DD ", "Personeel")" /> </xsl:sjabloon>

22 gedagtes oor "Vertoon inhoud Query Web Deel resultate in 'n rooster / Tabel

  1. Andreas

    Aah… dit was omdat ek die naam van my lys styl anders en het nie besef dat in die ContentQueryMain.xsl dit kontroleer of die "styl":

    <xsl:toe toets = "@ Style = 'NameOfMyStyle'">

    Met wat herdoop dit het gewerk. 🙂

    Antwoord
  2. Andreas

    Dit het amper vir my gewerk het: Ek bestuur die uitvoer </tafel> eindig tag korrek, maar die begin tag ontbreek. Dit wil voorkom asof die toets = "$ CurPos = 1" nie terug waar. Maar hoekom?

    Antwoord
  3. Anand Singh Rawat

    Groot Post. Paul Ek het al die bogenoemde dinge gedoen. Ek het 'n navraag, hoe kan ek die som van die "totale werklike Expences achive" of som van die waarde van die twee kolomme.

    Antwoord
  4. Lisa

    Het jy 'n werk gedoen met die skep van die persoonlike ContentQueryMain en ItemStyle xsl lêers? Die rede waarom ek vra is dat ek wil nie te bekommer oor my persoonlike style oorskryf met enige kolle of opgraderings. Het jy nie voorbeelde? Ek het probeer om 'n identiese kopie van die ContentQueryMain.xsl en oplaai dat 'n nuwe persoonlike afskrif aan die styl Biblioteek. Wanneer om 'n verwysing na die xsl lêer in die Webpart. MainXslLink eiendom, Ek kry 401 nie toegelaat. Die persoonlike XSL-lêer is 'n gepubliseerde weergawe en almal gelees het toegang tot.

    Antwoord
  5. Greg Sheridan

    Hi, dit was 'n baie nuttige plasing. Ek het dit alles werk, en ook Mike Brown se verandering geïmplementeer word, sodat dit groepe
    die resultate in die tabel wat ek kies, aangesien die Groep deur die parameter in die CQWB se eiendomme.
    Ek het die titel ook 'n skakel, so dit werk mooi. Ek het nog steeds 'n probleem, al. Ek groepering van die resultate deur die naam van die werf. Binne-in die tabel, dit groepe wat hulle mooi, en dit lyk 'n groot, maar dit is nog al die groep uit te druk
    name(in my geval die site name) bo die tafel. Is daar iemand wat weet hoe om ontslae te raak van hierdie?
    Dankie,
    Greg

    Antwoord
  6. Geen naam

    Nice artikel. Ek het daarin geslaag om my tafel te gee van die voorkoms van standaard Sharepoint Lyste deur die ontleding van die bron-kode van die lys. Hier is die hoof HTML blokke wat nodig is om aan te pas in ItemStyle:

    <TABEL width = "100%" class = "ms-listviewtable" border = 0 Cellspacing = 0 Celvulling = 1 r = "Geen">

    <!–HEADER–>
    <TR class = "ms-viewheadertr" VALIGN = TOP>
    <TH sukses van hul loopbaan omvang = "Kol" class = "MS-vh2-"><div style = "width:100%;posisie:relatiewe;verlaat:0;Top:0;">
    <TABEL style = "width:100%;" CtxNum = "1" height = "100%" Cellspacing = 1 Celvulling = 0 klas = "ms-unselectedtitle">
    <TR>
    <TD width = "100%" Class = "ms-vb" sukses van hul loopbaan>
    Titel teks hier

    </TD>
    <TD style = "posisie:absolute;">
    </TD>
    </TR>
    </TABEL></Div>
    </TH>

    <!–Herhaal vir alle kop selle–>
    </TR>

    <!– Tabel data –>
    <TR class = "">
    <!–Datakolom, Paulus se kode vir die eerste een met die hyperlink –>
    <Die TD Klas = "ms-vb2">Data hier</TD>

    <!–Leë kolom–>
    <Die TD Klas = "ms-vb2">
    <span dir=None></span><
    /TD>

    <!–Datum kolom–>
    <Die TD Klas = "ms-vb2">
    <Nobr>11/12/2008</Nobr>
    </TD>
    </TR>

    <!–***Alternatiewe ry – Gebruik 'n nuwe XSL-veranderlike wat die alternatiewe klas plaas op grond van die huidige ry modulo 2–>
    <TR class = "ms-wisselstroom">

    </TR>
    </TABEL>

    Antwoord
  7. Mike Brown
    Zoltan,
    I was working on the same issue as you. I wanted all my items displayed in a grouped manner rather than just a lits. Here is how I achieved it.
    ContentQueryMain.xsl
    <xsl:toe toets = "@ Style =" Grid ">
    <xsl:van toepassing nie-template kies = "." mode = "itemstyle">
    <xsl:met param name = "CurPos" kies = "$ CurPosition" />
    <xsl:met-param name = "Verlede" kies = "$ LastRow" />
    <!–Voeg hierdie nuwe afdeling in die parameter wat 'n nuwe groep begin het om te slaag–>
    <xsl:met param name = "StartNewGroup" kies = "@ __begingroup" />
    </xsl:pas-templates>
    </xsl:toe>
    ItemStyle.xsl
    Voeg jou parameter
    <xsl:param name = "StartNewGroup" />
    Voeg hierdie teks as die eerste ry van die data
    <xsl:kies>
    <xsl:when test="$StartNewGroup = ‘True’">
    <tr>
    <td >
    <xsl:call-template name = "OuterTemplate.GetGroupName">
    <xsl:met param name = "Group Name" Kies = "@ *[naam()= $ Groep]"/>
    <xsl:met param name = "GroupType" kies = "$ GroupType" />
    </xsl:call-template>
    </td>
    </tr>
    </xsl:toe>
    <xsl:anders>
    </xsl:anders>
    </xsl:kies>
    This should take care of your grouping issue in your grid. Each group will now begin with a new row indicating the group name. In my solution I actually added a blank <td /> die groepering staan ​​in die data ingekeep dit so goed so veel beter.
    Site1
    datacolumn1 datacolumn2 datacolumn3 etc

    datacolumn1 datacolumn2 datacolumn3 etc
    Site2
    datacolumn1 datacolumn2 datacolumn3 etc
    Site3

    datacolumn1 datacolumn2 datacolumn3 etc

    datacolumn1 datacolumn2 datacolumn3 etc
    ens..
    Antwoord
  8. Zoltan
    Hallo Paul,
    Dankie vir die pos, Ek het daarin geslaag om my resultate te organiseer in 'n rooster, wat baie nuttig is. Egter, Ek moet verder gaan en die groep my die resultate wat gebaseer is op webwerwe. Op die oomblik, die Site name eers, en dan is daar net een groot rooster versamel al die rye van verskillende plekke. Iets soos hierdie:
    Site1 Naam
    Site2 Naam
    Data in die rooster vir alle terreine
    Enige idees oor wat ek moet verander om my data soos volg te kry:
    Site1 Naam
    Data in die rooster vir Site1
    Site2 Naam
    Data in die rooster vir Site2
    Dankie by voorbaat,
    Zoltan
    Antwoord
  9. Pierre Joubert
    Fantasties Post, opgelos my probleem wat ek gehad het.
    My enigste probleem is die vertoning van die AssignedTo veld, Ek stel dit met die "Gebruiker" veldtipe en die ingevoerde Webpart vertoon dan die volgende fout:
    "Daar was 'n fout met die herwinning van data om te wys in hierdie Web deel."
    Ek het probeer om die gebruik van alle moontlike soorte veld, met enigiets anders dat "Gebruiker" dit maak nie vertoon die fout, but it does not display anything in the field. So I am assuming the User field type is correct, so I must be missing a setting somewhere.
    Enige idees oor hierdie?
    Groete
    Stone
    Antwoord
  10. Charftong
    Groot Post!!! Baie baie nuttig.
    Vinnige Vraag, het jy enige werk gedoen op die die AssignedTo of ModifiedBy velde met teenwoordigheid? Vir een of ander rede, wanneer ek probeer om die opgedra aan akker dipslay in die CQWP, dit gee altyd as 'n voorbeeld "203;#Charf Tong". I cant find a way around this.
    Antwoord
  11. Jennifer Davis
    Paul
    Great artikel, dankie. Ek doen iets baie soortgelyk, maar wil 'n skakel na die projek eerder as die item in die lys te vertoon. Byvoorbeeld, ons het 25 boonste vlak projek plekke en elkeen bevat 'n lys met die inhoud tipes. Dit is die Naam van die projek, Afdeling, Description. Ek wil die inhoud navraag web deel te gebruik om hierdie data te trek en het daarin geslaag, behalwe dat die URL by verstek neem my na die item item in die lys en ek regtig nodig het om dit aan my te neem aan die projek site. kan jy my enige raad gee?
    Dankie
    Net
    Antwoord
  12. Paul Galvin
    Kieren,
    I always use visual studio to edit the XSL. It provides color coding and it also has some good intellisense support.
    –Paul
    Antwoord
  13. Kieran het geskryf:

    Hi Paul,

    By die werk met die XML / XSL en inhoud navraag web deel, het jy enige goeie maniere om jou xslt te formateer? Probeer om veranderinge aan te bring en die ontwerp te toets is 'n regte pyn in die 'n ** net met behulp van 'n teks editor…

    Al die beste

    Antwoord
  14. Michael Dipay
    Regarding the issue I was having last time where it doesn’t display the images from the grid view but instead displays the text (https://myweb.com/Marketing/images/icn-order.gif,). Ek bestuur om dit op te los met die hulp van SharePoint Designer deur die skep van persoonlike ondervinding en die keuse van die persoonlike kolomme wat ek wil om te wys. Het ek uitgevind dat die beelde kolom tipe getoon as URL(komma) (bijv. https://myweb.com/Marketing/images/icn-order.gif,). Die huidige formaat is teks, so ek het om dit te verander na die Beeld van die gemeenskaplike xsl:waarde van die take -> Formaat as PICTURE. Hierdie verandering die vertoning aan die persoonlike beelde wat ek wou wys. Ek kopieer die kode om die beeld te vertoon ( <img border ="0" src = "{substring-voor(@ IcnOrder, ', ')}" /> ) And in the ItemStyle.xsl file I have to change the @PICTURECOLUMNNAME to the code <img border ="0" src = "{substring-voor(@ IcnOrder, ', ')}" /> . Stoor dit. Nou is die resultate van die my tafel rooster om te wys die teks sowel as die persoonlike beeld tipe kolomme.
    Antwoord
  15. Helen
    Hi Paul,
    Dankie vir die groot artikel!
    U het genoem dat voorwaardelike formatering – "Jy kan ook in voorwaardelike formatering, such as displaying projects who have exceeded their budget in red." Do you happen to have a code example for that?
    Dankie weer!
    Helen
    Antwoord
  16. Michael Dipay
    Hi Paul,
    It was a great article and was able to generate the same results as expected. Ek het 'n vereiste om 'n beeld in die rooster om te wys as een van sy kolomme. Dis nie die vertoning van die beeld op die rooster, maar in plaas daarvan vertoon die URL na die prent met 'n (,) komma aan die einde.
    (bijv. https://myweb.com/Marketing/images/icn-order.gif, )
    Moet ek beeld of foto in die CommonViewFields veldtipe? (bijv. InternalColumnName, Image)
    Dankie,
    Mike
    Antwoord
  17. Saji Ijiyemi

    Your post is exactly what I was looking for. Egter, I can’t get it to work.

    I have documents that are stored in various doc. libraries but classified using a custom class column (keuse: 1 of 2. I want to use CQWP to show these documents based on thier class.
    I was able to add the CQWP, export it to SPD, configure the itemStyle.xls to show custom fileds in list view. egter, I could not successfully implement what you describe here.

    These are the columns I want to show in my CQWP:

    File Type (to show icon)
    File Title
    Date Last Modified
    Modified By Who
    Checked Out To
    Checked In Comments

    I currently have the result in a list format. How do I change it to a talble format.

    Dankie.

    Saji

    Antwoord

Laat 'n antwoord te Hannah Kanseleer antwoord

Jou e-posadres sal nie gepubliseer word nie. Verpligte velde gemerk *