Ipakita ang Nilalaman ng Query sa mga Resulta ng Web Bahagi sa isang Grid / Talahanayan

Pangkalahatang-ideya at Layunin

Sa labas ng kahon sa, Lumot’ Bahagi ng nilalaman Query Web (CQWP) nagpapakita ng mga resulta nito sa isang listahan ng format, similar to search results. It is also possible to display the results in a grid format (i.e. HTML talahanayan format). Grid formats are better in some circumstances. I describe how to achieve that effect in this article.

Negosyo Sitwasyon

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, tulad ng pamagat, badyet, inaasahang pagkumpleto petsa, remaining budget and other summary type fields. By "singleton" I mean a custom SharePoint list guaranteed to contain only one item. Simplistically, ito ganito ang hitsura:

imahen

Ang teknikal na diskarte ay magkano ang parehong tulad ng inilarawan dito (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:

imahen

HTML tulad nito bumubuo na resulta:

<html>
 <katawan>
 <sentro>
 <talahanayan hangganan= 1>

<!-- Mga etiketa ->
 <tr bgcolor= Asul>
 <td><ay kulay= Puti><b>Project Pangalan</b></ay></td>
 <td ihanay= Kanan><ay kulay= Puti><b>Kumpletuhin Petsa</b></ay></td>
 <td ihanay= Kanan><ay kulay= Puti><b>Badyet</b></ay></td>
 <td ihanay= Kanan><ay kulay= Puti><b>Aktwal na Gastos</b></ay></td>
 <td><ay kulay= Puti><b>Pangkalahatang Katayuan</b></ay></td>
 </tr>

<tr>
 <td>Re-wire ng computer room.</td>
 <td ihanay= Kanan>02/01/08</td>
 <td ihanay= Kanan>22,500.00</td>
 <td ihanay= Kanan>19,000.00</td>
 <td>Isinasagawa</td>
 </tr>

<tr>
 <td>Pagkakaloob ng mga server para sa SQL upgrade</td>
 <td ihanay= Kanan>04/01/08</td>
 <td ihanay= Kanan>7,500.00</td>
 <td ihanay= Kanan>0.00</td>
 <td>Pinlano</td>
 </tr>

</talahanayan>
 </sentro>
 </katawan>
</html>

Lapit

Sundin ang mga hakbang upang lumikha ng grid:

  1. Kilalanin ang mga bahagi ng grid (hilera / haligi).
  2. Tukuyin at gumawa ng kinakailangang mga haligi ng site.
  3. Lumikha ng mga sub site para sa mga proyekto at walang pareho listahan.
  4. Idagdag ang CQWP sa isang pahina ng web at i-configure ito upang maghanap para sa iyong mga listahan.
  5. Baguhin ang XML sa CQWP upang lumikom ng karagdagang mga haligi.
  6. Baguhin ang XSL upang makabuo ng isang talahanayan.

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 dito (http://msdn2.microsoft.com/en-us/library/bb897399.aspx) at Heather Solomon blog dito (http://www.heathersolomon.com/blog/articles/CustomItemStyle.aspx).

Mani At Bolts

Simulan at ipatupad ang mga hakbang na isa hanggang limang bilang bawat ang MSDN babasahin at artikulo ng Heather Solomon.

Sa puntong ito, naidagdag mo ang ang iyong CQWP sa pahina at mayroon kang iyong <CommonViewFields> isinaayos kung kinakailangan.

Ng pagsunod sa mga karaniwan na hakbang, Nakukuha ko mga intermediate resulta na ito:

1. Lumikha ng isang uri ng nilalaman, a templatized custom list for that content type and two sites. Here is the content type:

imahen

Narito ang site na istraktura:

imahen

2. Idagdag ang CQWP matapos ang paglikha ng aking mga mga subsite proyekto at walang pareho mga listahan ng buod ng proyekto:

imahen

3. Magdagdag ng lahat ng mga karagdagang impormasyon na gusto ko sa pamamagitan ng <CommonViewFields>:

        <ari-arian pangalan="CommonViewFields" uri="pisi">Project_x0020_Name;Project_x0020_Expenses;Project_x0020_Status;Project_x0020_Start_x0020_Date;Project_x0020_End_x0020_Date;Project_x0020_Budget</ari-arian>

Tandaan na ako ay upang panatilihin ang lahat ng mga patlang ng ari-arian sa isang linya o hindi ito ay gumagana (CQWP ay sabihin sa akin na query ay hindi nagbalik ng mga item).

4. Sa puntong ito, 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 upang lumikha ng isang pasadyang / unghosted version of ItemStyle.xsl. I follow Heather’s advice, up sa pamamagitan ng hakbang 11 at makakuha ng mga mga intermediate resulta na ito:

4.1: Pangalanan ang aking XSL template tulad ng mga sumusunod:

<xsl:template name="Grid" match="Row[@Style=’Grid’]" mode="itemstyle">

Din ako bahagyang baguhin ang kanyang iminungkahing <xsl:para sa-bawat …> sa pamamagitan ng pagdaragdag ng isang <br /> i-tag upang magbigay ng isang mas malinis na listahan:

    <xsl:para sa-bawat piliin="@ *">
      P:<xsl:halaga-ng piliin="pangalan()" /><br/>
    </xsl:para sa-bawat>

4.2: Ko baguhin ang web bahagi, go to appearance and select my "Grid" estilo:

imahen

Ilapat ang pagbabago at dito ay ang resulta:

imahen

Maaari naming makita mula sa itaas na ang mga patlang na gusto namin (Project pangalan, gastos, katayuan, at iba pa) 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. Halimbawa, we reference Project Status as "Project_x005F_x0020_Name".

Sa puntong ito, umalis kami mula sa blog Heather sa at mula sa mga balikat ng mga higante, Idagdag ko ang aking sariling kaunti.

ContentQueryMain.xsl

Tandaan: Kapag nagsasagawa ng mga pagbabago sa ang parehong ContentQueryMain.xsl pati na rin ItemStyle.xsl, kailangan mong suriin ang mga file pabalik sa bago mo makita ang mga epekto ng iyong mga pagbabago.

Para sa mga layunin sa paggawa ng grid-, 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 the "main" 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 <talahanayan> tag bago nagpapalabas ang unang hanay ng data at ang pagsasara <talahanayan> tag after emitting the last row. To accomplish this, ContentQueryMain.xsl is modified to pass two parameters to our "grid" template sa ItemStyle.xsl, "last row" and "current row". ItemStyle.xsl uses these to conditionally emit the necessary tags.

Paggamit ng pamamaraan Heather Solomon, we locate ContentQueryMain.xsl. It is located in the same place as ItemStyle.xsl. This screen shot should help:

imahen

Kailangan naming gawin ang mga sumusunod na pagbabago:

  • Baguhin ang isang xsl template, "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 <talahanayan> mga tag.
  • Modify another bit of ContentQueryMain.xsl that calls the "CallItemTemplate" to pass it a "LastRow" parameter upang LastRow ay maaaring maipasa sa aming Grid template.

Locate the template named "OuterTemplate.CallItemTemplate" kinilala sa pamamagitan ng string ng:

  <xsl:template pangalan="OuterTemplate.CallItemTemplate">

Palitan ang buong template tulad ng mga sumusunod:

  <xsl:template pangalan="OuterTemplate.CallItemTemplate">
    <xsl:itigil pangalan="CurPosition" />

    <!--
      Add the "LastRow" parametro.
      We only use it when the item style pass in is "Grid".
    -->
    <xsl:itigil pangalan="LastRow" />

    <xsl:piliin>
      <xsl:kapag pagsubok="@ Estilo = sa 'NewsRollUpItem'">
        <xsl:Ilapat ang-template piliin="." paraan="itemstyle">
          <xsl:may-param pangalan="EditMode" piliin="$cbq_iseditmode" />
        </xsl:Ilapat ang-template>
      </xsl:kapag>
      <xsl:kapag pagsubok="@ Estilo = sa 'NewsBigItem'">
        <xsl:Ilapat ang-template piliin="." paraan="itemstyle">
          <xsl:may-param pangalan="CurPos" piliin="$CurPosition" />
        </xsl:Ilapat ang-template>
      </xsl:kapag>
      <xsl:kapag pagsubok="@ Estilo = sa 'NewsCategoryItem'">
        <xsl:Ilapat ang-template piliin="." paraan="itemstyle">
          <xsl:may-param pangalan="CurPos" piliin="$CurPosition" />
        </xsl:Ilapat ang-template>
      </xsl:kapag>

      <!--
              Pass ang kasalukuyang posisyon at lastrow sa ang Grid itemstyle.xsl ng template.
              Gagamitin ng ItemStyle.xsl na upang humalimuyak ang bukas at pagsasara <talahanayan> mga tag.
      -->
      <xsl:kapag pagsubok="@ Estilo = 'Grid' na">
        <xsl:Ilapat ang-template piliin="." paraan="itemstyle">
          <xsl:may-param pangalan="CurPos" piliin="$CurPosition" />
          <xsl:may-param pangalan="Huli" piliin="$LastRow" />
        </xsl:Ilapat ang-template>
      </xsl:kapag>

      <xsl:kung hindi>
        <xsl:Ilapat ang-template piliin="." paraan="itemstyle">
        </xsl:Ilapat ang-template>
      </xsl:kung hindi>
    </xsl:piliin>
  </xsl:template>

Ang mga komento ay ilarawan ang layunin ng mga pagbabago.

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

<xsl:template pangalan="OuterTemplate.Body">

Mag-scroll sa pamamagitan ng mga tagubilin sa OuterTemplate.Body at ipasok ang LastRow parameter na tulad ng sumusunod (ipinapakita bilang isang puna sa italics):

<xsl:call-template pangalan="OuterTemplate.CallItemTemplate">
  <xsl:may-param pangalan="CurPosition" piliin="$CurPosition" />
  <!-- Ipasok ang LastRow parameter. -->
  <xsl:may-param pangalan="LastRow" piliin="$LastRow"/>
</xsl:call-template>

Matapos ang lahat ng ito, namin sa wakas ng mga bagay-set up nang maayos sa gayon na ang aming ItemStyle.xsl maaaring magbigay <talahanayan> mga tag sa tamang lugar.

ItemStyle.Xsl

Tandaan: Muli, suriin sa ItemStyle.xsl pagkatapos ng paggawa ng anumang mga pagbabago upang makita mo ang epekto ng mga pagbabago.

Mayroon kaming dalawang mga gawain dito:

  • Replace the entire Grid template. You can copy/paste from below.
  • Add some mumbo jumbo outside the template definition that enables "formatcurrency" template to work. (Maaari mong sabihin na mayroon akong isang manipis na hawakan sa XSL).

Una, malapit sa tuktok ng ItemStyle.xsl, idagdag ang linyang ito:

  <!-- Ang ilang mga mumbo elepante na nagbibigay-daan sa amin upang ipakita U.S. pera. -->
  <xsl:decimal-format pangalan="mga tauhan" tambilang="D" />

  <xsl:template pangalan="Default" tumugma="*" paraan="itemstyle">

Tandaan na ang idinagdag ko ito nang direkta bago ang <xsl:template name="Default" …> depinisyon.

Susunod, go back to our Grid template. Replace the entire Grid template with the code below. It is thoroughly commented, ngunit huwag mag-atubiling mag-email sa akin o mag-iwan ng mga komento sa aking blog kung mayroon kang mga katanungan.

  <xsl:template pangalan="Parilya" tumugma="Hilera[@ Estilo = 'Grid' na]" paraan="itemstyle">

    <!--
      ContentMain.xsl pumasa CurPos at huling.
      Ginagamit namin ito sa nang may pasubali humalimuyak ang bukas at pagsasara <talahanayan> mga tag.
    -->
    <xsl:itigil pangalan="CurPos" />
    <xsl:itigil pangalan="Huli" />

    <!-- Ang mga sumusunod na mga variable ay na unmodified mula sa standard ItemStyle.xsl -->
    <xsl:nagbabago pangalan="SafeImageUrl">
      <xsl:call-template pangalan="OuterTemplate.GetSafeStaticUrl">
        <xsl:may-param pangalan="UrlColumnName" piliin="'ImageUrl'"/>
      </xsl:call-template>
    </xsl:nagbabago>
    <xsl:nagbabago pangalan="SafeLinkUrl">
      <xsl:call-template pangalan="OuterTemplate.GetSafeLink">
        <xsl:may-param pangalan="UrlColumnName" piliin="'LinkUrl'"/>
      </xsl:call-template>
    </xsl:nagbabago>
    <xsl:nagbabago pangalan="DisplayTitle">
      <xsl:call-template pangalan="OuterTemplate.GetTitle">
        <xsl:may-param pangalan="Pamagat" piliin="@ Pamagat"/>
        <xsl:may-param pangalan="UrlColumnName" piliin="'LinkUrl'"/>
      </xsl:call-template>
    </xsl:nagbabago>
    <xsl:nagbabago pangalan="LinkTarget">
      <xsl:kung pagsubok="@ OpenInNewWindow = 'tunay'" >_blank</xsl:kung>
    </xsl:nagbabago>

    <!--
      Dito namin tukuyin ang isang variable, "tableStart".  Ito ay naglalaman ng HTML
      .  Tandaan na kung CurPos = 1, ito kasama ang HTML sa isang tag CDATA.
      Kung hindi, ito ay walang laman.

      Ang halaga ng tableStart ay emited bawat oras ItemStyle ay tinatawag na sa pamamagitan ng
      .
    -->
    <xsl:nagbabago pangalan="tableStart">
      <xsl:kung pagsubok="$CurPos = 1">
        <![CDATA[
        <talahanayan border = 1>
          <tr bgcolor="blue">
            <td><font color="white"><b>Project Pangalan</b></ay></td>
            <td align="right"><font color="white"><b>Kumpletuhin Petsa</b></ay></td>
            <td align="right"><font color="white"><b>Badyet</b></ay></td>
            <td align="right"><font color="white"><b>Aktwal na Gastos</b></ay></td>
            <td><font color="white"><b>Pangkalahatang Katayuan</b></ay></td>
          </tr>
        ]]>
      </xsl:kung>
    </xsl:nagbabago>

    <!--
      Isa pang variable, tumutukoy tableEnd lamang ang pagsasara ng tag ng talahanayan.

      Tulad ng sa tableStart, ito ay palaging emited.  Ito ay kung bakit ang ang halaga nito ay
      .
    -->
    <xsl:nagbabago pangalan="tableEnd">
      <xsl:kung pagsubok="$CurPos = $ Huling">
        <![CDATA[ </talahanayan> ]]>
      </xsl:kung>
    </xsl:nagbabago>

    <!--
      Laging humalimuyak ang mga nilalaman ng tableStart.  Kung hindi ito ang unang
      , pagkatapos namin alam ang halaga nito
      .

      Huwag paganahin ang output escaping dahil kapag tableStart ito ay hindi blangko, ito
      .  Kung
      , it will generate
      stuff like "&lt;talahanayan&gt;" instead of "<talahanayan>".
    -->
    <xsl:halaga-ng piliin="$tableStart" huwag paganahin-output-escaping="oo"/>


    <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:halaga-ng piliin="@ Project_x005F_x0020_Name"/>
      </td>

      <td ihanay="karapatan">
        <xsl:halaga-ng piliin="@ Project_x005F_x0020_End_x005F_x0020_Date"/>
      </td>

      <td ihanay="karapatan">
        <xsl:call-template pangalan="formatCurrency">
          <xsl:may-param pangalan="halaga" 
piliin="@ Project_x005F_x0020_Budget"></xsl:may-param> </xsl:call-template> </td> <td ihanay="karapatan"> <xsl:call-template pangalan="formatCurrency"> <xsl:may-param pangalan="halaga" piliin="@ Project_x005F_x0020_Expenses">
</xsl:may-param> </xsl:call-template> </td> <td> <xsl:halaga-ng piliin="@ Project_x005F_x0020_Status"/> </td> <!-- Lahat ng mga sumusunod ay nagkomento sa linawin ng mga bagay. Gayunman, dalhin ito pabalik at Bagay-bagay ang mga ito sa isang <td> upang makita ang         . --> <!-- <div id="linkitem" class="item"> <xsl:if test="string-length($SafeImageUrl) != 0"> <div class="image-area-left"> <a href="{$SafeLinkUrl}" target="{$LinkTarget}"> <img class="image-fixed-width" src="{$SafeImageUrl}"
alt="{@ ImageUrlAltText}"/> </isang> </div> </xsl:kung> <div class="link-item"> <xsl:call-template
name="OuterTemplate.CallPresenceStatusIconTemplate"/> <a href="{$SafeLinkUrl}"
target="{$LinkTarget}" title="{@ LinkToolTip}"> <xsl:value-of select="$DisplayTitle"/> </isang> <div class="description"> <xsl:value-of select="@Description" /> </div> </div> </div>
--> </tr> <!-- Humalimuyak ang pagsasara ng tag talahanayan. Kung hindi kami sa huling hilera, ito ay magiging blangko. --> <xsl:halaga-ng piliin="$tableEnd" huwag paganahin-output-escaping="oo"/> </xsl:template> <xsl:template pangalan="formatCurrency"> <xsl:itigil pangalan="halaga" piliin="0" /> <xsl:halaga-ng piliin='format-NUMBER($halaga, "$DDD,DDD,DDD.DD", "staff")' /> </xsl:template>

22 ano sa tingin mo "Ipakita ang Nilalaman ng Query sa mga Resulta ng Web Bahagi sa isang Grid / Talahanayan

  1. Andreas

    Aah… it was because I named my List Style differently and didn’t realise that in the ContentQueryMain.xsl it checks for the "style":

    <xsl:when test="@Style=’NameOfMyStyle’">

    Sa na pangalanan ito nagtrabaho. 🙂

    Sumagot
  2. Andreas

    Halos nagtrabaho ito para sa akin: Na aking pinamamahalaan output ang </talahanayan> tapusin tag tama, ngunit ang panimulang tag ay nawawala. It seems the test="$CurPos = 1" ay hindi nagbabalik ng tunay. Ngunit bakit?

    Sumagot
  3. Anand Singh Rawat

    Mahusay na Post. Paul i na tapos na ang lahat ng ang itaas na mga bagay. Mayroon akong isang query, how can I achive the sum of "TOTAL ACTUAL Expences" o kabuuan ng ang halaga ng dalawang haligi.

    Sumagot
  4. Lisa

    Mong gawin ang anumang trabaho sa paglikha ng ng ng pasadyang ContentQueryMain at ItemStyle xsl file? Ang dahilan na humingi ko na hindi ko nais na mag-alala tungkol sa aking mga pasadyang estilo pagiging mapapatungan sa anumang mga patch o upgrade. Mayroon ba kayong mga halimbawa? Sinubukan ko na ang paggawa ng isang kaparehong kopya ng ng ang ContentQueryMain.xsl at upload na bagong pasadyang kopya sa Library Estilo. Kapag paglagay ng sanggunian sa xsl ang file na ito sa MainXslLink ari-arian. Webpart ng, Nakukuha ko 401 hindi pinahintulutan. Ang pasadyang xsl file ay isang publish na bersyon at lahat ay basahin ang access dito.

    Sumagot
  5. Greg Sheridan

    Hi, ito ay isang talagang nakakatulong sa pag-post. Ko ang lahat ng ito gumagana, at din ipinatupad Mike Brown pagbabago kaya grupo
    ang mga resulta sa loob ng talahanayan sa pamamagitan ng anumang pinili ko bilang Group sa pamamagitan ng parameter sa katangian ang CQWB.
    Ginawa ko ang pamagat ng isang link din, kaya ito gumagana mabuti. Mayroon pa akong isang problema, kahit na. Ako pagpangkat ang mga resulta sa pamamagitan ng pangalan ng site. Sa loob ng talahanayan, ito group na sila mabuti, at mukhang mahusay, ngunit pa rin ito ay pag-print out ang lahat ng mga grupo
    pangalan(sa aking kaso site ang mga pangalan) sa itaas ng talahanayan. Ay kahit sino malaman kung paano mapupuksa sa mga ito?
    Salamat,
    Greg

    Sumagot
  6. Walang pangalan

    Nice artikulo. Ko pinamamahalaang upang bigyan ang aking mga talahanayan ang hitsura ng mga Listahan ng Sharepoint ng default sa pamamagitan ng pagsusuri ng source code ng listahan. Narito ang mga pangunahing HTML na mga bloke na kinakailangan upang magkasya sa ItemStyle:

    <TABLE width="100%" class="ms-listviewtable" border=0 cellspacing=0 cellpadding=1 dir="None">

    <!–Header–>
    <TR class="ms-viewheadertr" VALIGN = TOP>
    <TH nowrap scope="col" class="ms-vh2"><div style="width:100%;posisyon:kamag-anak;pakaliwa:0;tuktok:0;">
    <TABLE style="width:100%;" CtxNum="1" height="100%" cellspacing=1 cellpadding=0 class="ms-unselectedtitle">
    <TR>
    <TD width="100%" Class="ms-vb" nowrap>
    Pamagat teksto Dito

    </TD>
    <TD style="position:lubos;">
    </TD>
    </TR>
    </Talahanayan></div>
    </Ika>

    <!–Ulitin para sa lahat ng mga cell header–>
    </TR>

    <!– Talahanayan ng data –>
    <TR class="">
    <!–Data haligi, gamitin ang Paul ng code para sa ang unang isa sa mga hyperlink –>
    <TD Class="ms-vb2">Data dito</TD>

    <!–Walang laman ang haligi–>
    <TD Class="ms-vb2">
    <span dir = Wala></maikling panahon><
    /TD>

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

    <!–***Kahaliling hilera – Gumamit ng isang bagong variable ng XSL na ipasok ang kahaliling uri batay sa kasalukuyang hilera modulo 2–>
    <TR class="ms-alternating">

    </TR>
    </Talahanayan>

    Sumagot
  7. Mike Brown
    Zoltán,
    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:when test="@Style=’Grid’">
    <xsl:apply-templates select="." mode="itemstyle">
    <xsl:with-param name="CurPos" select="$CurPosition" />
    <xsl:with-param name="Last" select="$LastRow" />
    <!–magdagdag ng bagong seksyon na ito upang pumasa sa mga parameter na nagpapahiwatig ng isang bagong grupo ay nagsimula–>
    <xsl:with-param name="StartNewGroup" select="@__begingroup" />
    </xsl:Ilapat ang-template>
    </xsl:kapag>
    ItemStyle.xsl
    Magdagdag ng iyong mga parameter
    <xsl:param name="StartNewGroup"/>
    Idagdag ang tekstong ito bilang ang unang hilera ng mga data
    <xsl:piliin>
    <xsl:when test="$StartNewGroup = ‘True’">
    <tr>
    <td >
    <xsl:call-template name="OuterTemplate.GetGroupName">
    <xsl:with-param name="GroupName" select="@*[pangalan()= $ Group]"/>
    <xsl:with-param name="GroupType" select="$GroupType"/>
    </xsl:call-template>
    </td>
    </tr>
    </xsl:kapag>
    <xsl:kung hindi>
    </xsl:kung hindi>
    </xsl:piliin>
    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 /> sa data upang ipasok ito pati na rin kaya ang pagsasama ang stood out magkano ang mas mahusay na.
    Site1
    datacolumn1 datacolumn2 datacolumn3 etc

    datacolumn1 datacolumn2 datacolumn3 etc
    Site2
    datacolumn1 datacolumn2 datacolumn3 etc
    Site3

    datacolumn1 datacolumn2 datacolumn3 etc

    datacolumn1 datacolumn2 datacolumn3 etc
    at iba pa.
    Sumagot
  8. Zoltán
    Kamusta Paul,
    Salamat para sa post, i pinamamahalaang upang ayusin ang aking mga query sa mga resulta sa isang grid, na ay napaka-helpful. Gayunman, Dapat ako magpunta sa karagdagang at grupo ng aking mga resulta batay sa mga Sites. Sa ngayon, ang mga Site pangalan ay nakalista sa unang, at pagkatapos ay doon ay lamang ng isang malaking grid pagtitipon ang lahat ng mga hilera mula sa iba't ibang mga site. Isang bagay tulad nito:
    Site1 Pangalan
    Site2 Pangalan
    Data sa grid para sa lahat ng mga site
    Anumang mga ideya kung ano ang dapat kong baguhin upang makakuha ng aking data tulad ng mga sumusunod:
    Site1 Pangalan
    Data sa grid para sa Site1
    Site2 Pangalan
    Data sa grid para sa Site2
    Salamat in advance,
    Zoltán
    Sumagot
  9. Pierre Joubert
    Hindi kapani-paniwala Post, malutas ang aking problema ko ay may.
    Aking lamang isyu sa pagpapakita ng AssignedTo patlang, I configure it with the "User" Ang patlang uri at ang import na webpart pagkatapos ay ipinapakita ang mga sumusunod na error:
    "There was an error retrieving data to display in this Web Part."
    Sinubukan ko ang paggamit ng lahat ng posibleng mga uri ng patlang, with anything other that "User" ito ay hindi ipakita ang error, 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.
    Anumang mga ideya na ito?
    Regards
    Bato
    Sumagot
  10. Charftong
    Mahusay na Post!!! Very Very Nakatutulong.
    Mabilis na Tanong, mong gawin ang anumang trabaho sa pagpapakita ang ang patlang AssignedTo o ModifiedBy sa pagkakaroon? For some reason, tuwing subukan ko sa dipslay ang Itinalaga Upang patlang sa ang CQWP, it always displays with as an example "203;#Charf Tong". I cant find a way around this.
    Sumagot
  11. Jennifer Davis
    Paul
    Mahusay na artikulo, salamat. Ako paggawa ng isang bagay na halos kapareho ngunit nais upang ipakita ang isang link sa site ng proyekto sa halip na ang item sa listahan. Halimbawa, mayroon kaming 25 tuktok na antas ng proyekto site at sa bawat naglalaman ng isang listahan na may mga uri ng nilalaman. Ito ang mga Project Pangalan, Dibisyon, Paglalarawan. Gusto kong gamitin ang nilalaman na bahagi ng web ng query upang kunin ang data na ito at nagtagumpay maliban na sa pamamagitan ng default na ang URL ay dadalhin ako sa item na entry sa listahan at kailangan ko talaga ito sa magdadala sa akin sa site ng proyekto. Maaari ba ninyo akong bigyan ng anumang mga payo?
    Salamat
    Lamang
    Sumagot
  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
    Sumagot
  13. Kieran sinulat:

    Hi Paul,

    Kapag nagtatrabaho sa xml / xsl at bahagi ng web ng query sa nilalaman, mayroon kang natagpuan ng anumang mabuting paraan upang i-format ang iyong xslt? Sinusubukang upang gumawa ng mga pagbabago at subukan ang disenyo ay proving isang karapatan masakit sa ang isang ** lamang gamit ang isang text editor…

    Ang lahat ng mga pinakamahusay na

    Sumagot
  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,). Na mapamahalaan ko upang malutas ito sa tulong ng SharePoint Designer sa pamamagitan ng paglikha ng pasadyang pagtingin at pagpili ng mga pasadyang haligi na nais ko upang ipakita. Ko nalaman na ang mga imahe ng uri ng haligi ay ipapakita bilang URL(kuwit) (e.g. https://myweb.com/Marketing/images/icn-order.gif,). Ang kasalukuyang format ay Teksto, kaya wala ko upang baguhin ito sa Larawan mula sa Karaniwang xsl:halaga-ng mga Gawain -> Format ng larawan. Ang pagbabagong ito ang pagpapakita sa mga pasadyang mga imahe na nais ko upang ipakita. Kinopya ko ang code upang ipakita ang mga imahe ( <img border ="0" src="{substring-bago(@ IcnOrder, ', ')}" /> ) And in the ItemStyle.xsl file I have to change the @PICTURECOLUMNNAME to the code <img border ="0" src="{substring-bago(@ IcnOrder, ', ')}" /> . Pagkatapos i-save ito. Ngayon ang aking mga resulta sa grid ng talahanayan upang ipakita ang text pati na rin ang mga haligi ng pasadyang uri ng imahe.
    Sumagot
  15. Helen
    Hi Paul,
    Salamat para sa mahusay na artikulo!
    Mo nabanggit kondisyon format – "You can also put in conditional formatting, such as displaying projects who have exceeded their budget in red." Do you happen to have a code example for that?
    Salamat muli!
    Helen
    Sumagot
  16. Michael Dipay
    Hi Paul,
    It was a great article and was able to generate the same results as expected. Mayroon akong isang kinakailangan upang ipakita ang isang imahe sa grid bilang isa sa kanyang mga haligi. Ito ay hindi pagpapakita ng imahe sa grid ngunit sa halip ay nagpapakita ng url sa imahe na may isang (,) comma sa dulo.
    (e.g. https://myweb.com/Marketing/images/icn-order.gif, )
    Dapat ko bang gamitin ang Image o Picture sa Uri ng Patlang ng CommonViewFields? (e.g. InternalColumnName, Imahen)
    Salamat,
    Mayk
    Sumagot
  17. Saji Ijiyemi

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

    I have documents that are stored in various doc. libraries but classified using a custom class column (choice: 1 o 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. gayunman, 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.

    Salamat.

    Saji

    Sumagot

Mag-iwan ng Sumagot sa Lee Goergen Ikansela reply

Ang iyong email address ay hindi nai-publish. Mga kinakailangang patlang ay minarkahan *