Memaparkan Kandungan Web Keputusan Query Bahagian dalam Grid / Jadual

Gambaran dan Objektif

Keluar dari kotak, MOSS’ Kandungan Pertanyaan Web Bahagian (CQWP) memaparkan keputusan dalam format senarai, serupa dengan hasil carian. Hal ini juga mungkin untuk memaparkan hasil dalam grid format (Dgn kata lain. Format jadual HTML). Format grid adalah lebih baik dalam keadaan sesetengah. Saya menerangkan bagaimana untuk mencapai kesan yang dalam artikel ini.

Senario Perniagaan

Saya telah bekerja dengan klien mengenai pelaksanaan MOSS menyeluruh untuk. Kami telah direka taksonomi mereka supaya projek-projek adalah warga negara kelas pertama dalam hierarki dalam dan mempunyai tapak aras tertinggi mereka sendiri. Pengurus Projek mengekalkan senarai singleton maklumat ringkasan projek, seperti tajuk, bajet, Tarikh dijangka siap, Baki belanjawan dan lain-lain bidang ringkasan jenis. Oleh "singleton" Senarai SharePoint tersuai dijamin mengandungi hanya satu perkara yang saya maksudkan. Dengan mudah, ia kelihatan seperti ini:

imej

Pendekatan teknikal adalah lebih kurang sama seperti yang dinyatakan di sini (http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!447.entry). CQWP yang menggunakan untuk mengubah XSL untuk mengeluarkan HTML untuk pelayar untuk memberi.

Saya sentiasa membayangkan hasil sebelum menganalisa XSL tersebut kerana XSL mimpi ngeri. Berikut adalah keputusan yang diingini saya:

imej

HTML seperti ini menjana hasil yang:

<html>
 <badan>
 <pusat>
 <jadual sempadan= 1>

<!-- Label ->
 <tr bgcolor= Biru>
 <td><font warna= Putih><b>Nama Projek</b></font></td>
 <td menyelaraskan= Betul><font warna= Putih><b>Tarikh melengkapkan</b></font></td>
 <td menyelaraskan= Betul><font warna= Putih><b>Bajet</b></font></td>
 <td menyelaraskan= Betul><font warna= Putih><b>Perbelanjaan sebenar</b></font></td>
 <td><font warna= Putih><b>Keseluruhan Status</b></font></td>
 </tr>

<tr>
 <td>Re-wayar bilik komputer.</td>
 <td menyelaraskan= Betul>02/01/08</td>
 <td menyelaraskan= Betul>22,500.00</td>
 <td menyelaraskan= Betul>19,000.00</td>
 <td>Dalam Kemajuan</td>
 </tr>

<tr>
 <td>Pelayan SQL Peruntukan Naik Taraf</td>
 <td menyelaraskan= Betul>04/01/08</td>
 <td menyelaraskan= Betul>7,500.00</td>
 <td menyelaraskan= Betul>0.00</td>
 <td>Dirancang</td>
 </tr>

</jadual>
 </pusat>
 </badan>
</html>

Pendekatan

Ikuti langkah-langkah untuk mewujudkan grid:

  1. Mengenalpasti komponen grid (baris / lajur).
  2. Menentukan dan mewujudkan ruangan tapak perlu.
  3. Mencipta laman sub bagi projek-projek dan senarai tunggal.
  4. Tambah CQWP untuk laman web dan mengkonfigurasi ia untuk mencari senarai anda.
  5. Ubahsuai XML CQWP untuk mengumpulkan ruangan tambahan.
  6. Ubah suai XSL untuk menjana jadual.

Saya akan menumpukan perhatian kepada nombor enam. Nombor satu melalui empat adalah lurus ke hadapan dan sesuatu yang telah melakukan mana-mana pengguna CQWP. Nombor lima telah didokumenkan oleh orang lain termasuk menyeluruh tembakan skrin penuh sarat artikel ini daripada MSDN di sini (http://msdn2.microsoft.com/en-us/library/bb897399.aspx) dan blog Heather Sulaiman di sini (http://www.heathersolomon.com/blog/articles/CustomItemStyle.aspx).

Kacang Dan Bolt

Mulakan dan melaksanakan langkah-langkah yang salah melalui lima sebagai satu dokumentasi MSDN dan artikel Heather Sulaiman.

Pada ketika ini, anda telah menambah CQWP anda ke laman dan anda mempunyai anda <CommonViewFields> dikonfigurasi sebagai perlu.

Berikutan langkah-langkah yang biasa, Saya mendapat keputusan ini perantaraan:

1. Membuat jenis kandungan, templatized senarai tersuai untuk jenis kandungan itu dan dua tapak. Inilah jenis kandungan:

imej

Berikut adalah struktur tapak:

imej

2. Tambah CQWP selepas mewujudkan subsites projek saya dan tunggal senarai ringkasan projek:

imej

3. Tambah semua maklumat tambahan yang saya mahu melalui <CommonViewFields>:

        <harta Nama="CommonViewFields" Jenis="rentetan">Project_x0020_Name;Project_x0020_Expenses;Project_x0020_Status;Project_x0020_Start_x0020_Date;Project_x0020_End_x0020_Date;Project_x0020_Budget</harta>

Perhatikan bahawa saya terpaksa terus semua bidang hartanah dalam satu baris atau ia tidak akan bekerja (CQWP akan memberitahu saya bahawa pertanyaan itu kembali ada perkara).

4. Pada ketika ini, Kami sudah bersedia untuk bergerak melampaui artikel MSDN dan flip di atas untuk artikel Heather Solomon. Ikuti langkah-langkah beliau yang bermula berhampiran langkah #5 untuk mewujudkan disesuaikan / versi unghosted ItemStyle.xsl. Saya ikut nasihat Heather's, up melalui langkah 11 dan mendapatkan keputusan ini perantaraan:

4.1: Nama template XSL saya seperti berikut:

<Pemacu:nama templat = "Grid" sepadan dengan = "berturut-turut[@Style = 'Grid']" mod = "itemstyle">

Saya juga sedikit mengubah beliau mencadangkan <Pemacu:untuk setiap …> dengan menambah <br /> tag untuk menyediakan senarai yang lebih bersih:

    <Pemacu:untuk setiap pilih="@ *">
      P:<Pemacu:nilai-of pilih="Nama()" /><br/>
    </Pemacu:untuk setiap>

4.2: Saya mengubah suai sebahagian web, pergi ke penampilan dan pilih saya "Grid" gaya:

imej

Melaksanakan perubahan dan di sini adalah hasil:

imej

Kita boleh lihat dari atas bahawa bidang yang kita mahu (Nama projek, perbelanjaan, status, dan sebagainya.) disediakan untuk kita gunakan apabila kita mengeluarkan HTML. Bukan itu sahaja, tetapi kita melihat nama-nama yang kami perlu rujukan kolum tersebut dalam XSL dalam. Sebagai contoh, kami rujukan Status projek sebagai "Project_x005F_x0020_Name".

Pada ketika ini, kami bertolak dari blog Heather dan dari bahu gergasi ini, Saya menambah sedikit saya sendiri sedikit.

ContentQueryMain.xsl

NOTA: Apabila membuat perubahan kepada kedua-dua ContentQueryMain.xsl serta ItemStyle.xsl, anda perlu menyemak fail-fail kembali sebelum anda melihat kesan perubahan.

Bagi tujuan membuat grid, MOSS menggunakan dua fail XSL yang berbeza untuk menghasilkan keputusan yang kita lihat dari CQWP yang. Untuk menjana bit sebelumnya output, kami kali ItemStyle.xsl. MOSS sebenarnya menggunakan fail XSL yang lain, ContentQueryMain.xsl untuk bersama-sama dengan ItemStyle.xsl untuk menghasilkan HTML yang. Seperti namanya, ContentQueryMain.xsl adalah "utama" XSL yang mengawal aliran keseluruhan penterjemahan. Ia iterates melalui semua barang-barang yang dijumpai dan Pas mereka satu per satu untuk template di ItemStyle.xsl. Kami akan ubah suai ItemStyle.xsl untuk menjana terbuka <jadual> tag sebelum mengeluarkan baris pertama data dan penutup <jadual> Tag selepas mengeluarkan baris terakhir. Untuk mencapai matlamat ini, ContentQueryMain.xsl kali meluluskan dua parameter untuk kami "grid" template dalam ItemStyle.xsl, "baris terakhir" dan "semasa baris". ItemStyle.xsl menggunakan ini untuk mengeluarkan tag perlu bersyarat.

Menggunakan teknik Heather Sulaiman, kita mencari ContentQueryMain.xsl. Ia terletak di tempat yang sama sebagai ItemStyle.xsl. Pukulan skrin ini akan membantu:

imej

Kita perlu membuat perubahan berikut:

  • Ubahsuai template XSL, "CallItemTemplate" yang benar-benar menggunakan template Grid kami di ItemStyle.xsl. Kita akan melewati dua parameter untuk Grid template supaya ia akan mempunyai data yang diperlukan untuk menjana dengan membuka dan menutup <jadual> tags.
  • Ubah suai sedikit lain ContentQueryMain.xsl yang menyeru "CallItemTemplate" meluluskan "LastRow" parameter supaya LastRow boleh disampaikan kepada template Grid kami.

Mencari template yang dinamakan "OuterTemplate.CallItemTemplate" dikenal pasti oleh tali:

  <Pemacu:template Nama="OuterTemplate.CallItemTemplate">

Menggantikan template keseluruhan seperti berikut:

  <Pemacu:template Nama="OuterTemplate.CallItemTemplate">
    <Pemacu:param Nama="CurPosition" />

    <!--
      Tambah "LastRow" parameter.
      Kami hanya menggunakannya apabila item gaya Pas dalam "Grid".
    -->
    <Pemacu:param Nama="LastRow" />

    <Pemacu:memilih>
      <Pemacu:apabila ujian="@ Gaya = 'NewsRollUpItem'">
        <Pemacu:terpakai-template pilih="." mod="itemstyle">
          <Pemacu:dengan-param Nama="EditMode" pilih="$cbq_iseditmode" />
        </Pemacu:terpakai-template>
      </Pemacu:apabila>
      <Pemacu:apabila ujian="@ Gaya = 'NewsBigItem'">
        <Pemacu:terpakai-template pilih="." mod="itemstyle">
          <Pemacu:dengan-param Nama="CurPos" pilih="$CurPosition" />
        </Pemacu:terpakai-template>
      </Pemacu:apabila>
      <Pemacu:apabila ujian="@ Gaya = 'NewsCategoryItem'">
        <Pemacu:terpakai-template pilih="." mod="itemstyle">
          <Pemacu:dengan-param Nama="CurPos" pilih="$CurPosition" />
        </Pemacu:terpakai-template>
      </Pemacu:apabila>

      <!--
              Pas kedudukan semasa dan lastrow kepada template itemstyle.xsl Grid.
              ItemStyle.xsl akan menggunakannya untuk mengeluarkan terbuka dan tutup <jadual> tags.
      -->
      <Pemacu:apabila ujian="@ Gaya = 'Grid'">
        <Pemacu:terpakai-template pilih="." mod="itemstyle">
          <Pemacu:dengan-param Nama="CurPos" pilih="$CurPosition" />
          <Pemacu:dengan-param Nama="Last" pilih="$LastRow" />
        </Pemacu:terpakai-template>
      </Pemacu:apabila>

      <Pemacu:sebaliknya>
        <Pemacu:terpakai-template pilih="." mod="itemstyle">
        </Pemacu:terpakai-template>
      </Pemacu:sebaliknya>
    </Pemacu:memilih>
  </Pemacu:template>

Komen-komen yang menerangkan maksud perubahan.

Kursus, "OuterTemplate.CallItemTemplate" dirinya dipanggil dari template lain. Mencari templat tersebut dengan mencari rentetan teks ini:

<Pemacu:template Nama="OuterTemplate.Body">

Tatal melalui manual OuterTemplate.Body dan masukkan parameter LastRow seperti berikut (ditunjukkan sebagai komen dalam italik):

<Pemacu:panggilan template Nama="OuterTemplate.CallItemTemplate">
  <Pemacu:dengan-param Nama="CurPosition" pilih="$CurPosition" />
  <!-- Memasukkan parameter LastRow yang. -->
  <Pemacu:dengan-param Nama="LastRow" pilih="$LastRow"/>
</Pemacu:panggilan template>

Selepas semua ini, kami akhirnya telah perkara ditubuhkan dengan betul supaya ItemStyle.xsl kita boleh mengeluarkan <jadual> tags di tempat yang betul.

ItemStyle.Xsl

NOTA: Lagi, mendaftar masuk ItemStyle.xsl selepas membuat apa-apa perubahan supaya anda melihat kesan perubahan-perubahan.

Kami mempunyai dua tugas di sini:

  • Menggantikan seluruh template Grid. Anda boleh copy/paste dari bawah.
  • Tambah beberapa mumbo jumbo di luar definisi template yang membolehkan "formatcurrency" template untuk bekerja. (Anda boleh memberitahu bahawa saya mempunyai mengendalikan lemah pada Pemacu).

Pertama, berhampiran bahagian atas ItemStyle.xsl, tambah baris ini:

  <!-- Beberapa jumbo kosong yang membolehkan kita untuk memaparkan U.S. mata wang. -->
  <Pemacu:perpuluhan-format Nama="kakitangan" digit="D" />

  <Pemacu:template Nama="Default" perlawanan="*" mod="itemstyle">

Perhatikan bahawa saya berkata ia secara langsung sebelum <Pemacu:nama templat = "lalai" …> definisi.

Seterusnya, kembali ke template Grid kami. Menggantikan seluruh template Grid dengan kod di bawah. Ia adalah benar-benar mengulas, tetapi tidak teragak-agak untuk e-mel saya atau meninggalkan komen di blog saya jika anda mempunyai soalan.

  <Pemacu:template Nama="Grid" perlawanan="Berturut-turut[@ Gaya = 'Grid']" mod="itemstyle">

    <!--
      ContentMain.xsl pas CurPos dan terakhir.
      Kami menggunakan ini untuk mengeluarkan bersyarat terbuka dan tutup <jadual> tags.
    -->
    <Pemacu:param Nama="CurPos" />
    <Pemacu:param Nama="Last" />

    <!-- Pembolehubah berikut diubahsuai dari ItemStyle.xsl standard -->
    <Pemacu:berubah-ubah Nama="SafeImageUrl">
      <Pemacu:panggilan template Nama="OuterTemplate.GetSafeStaticUrl">
        <Pemacu:dengan-param Nama="UrlColumnName" pilih="'ImageUrl'"/>
      </Pemacu:panggilan template>
    </Pemacu:berubah-ubah>
    <Pemacu:berubah-ubah Nama="SafeLinkUrl">
      <Pemacu:panggilan template Nama="OuterTemplate.GetSafeLink">
        <Pemacu:dengan-param Nama="UrlColumnName" pilih="'LinkUrl'"/>
      </Pemacu:panggilan template>
    </Pemacu:berubah-ubah>
    <Pemacu:berubah-ubah Nama="Displaytitle">
      <Pemacu:panggilan template Nama="OuterTemplate.GetTitle">
        <Pemacu:dengan-param Nama="Title" pilih="@ Title"/>
        <Pemacu:dengan-param Nama="UrlColumnName" pilih="'LinkUrl'"/>
      </Pemacu:panggilan template>
    </Pemacu:berubah-ubah>
    <Pemacu:berubah-ubah Nama="LinkTarget">
      <Pemacu:jika ujian="@ OpenInNewWindow = 'Sebenar'" >_blank</Pemacu:jika>
    </Pemacu:berubah-ubah>

    <!--
      Di sini kita menentukan ubah, "tableStart".  Ini mengandungi HTML
      .  Perhatikan bahawa jika CurPos = 1, ia termasuk HTML dalam tag CDATA.
      Jika tidak, ia akan menjadi kosong.

      Nilai tableStart adalah emited setiap ItemStyle masa dipanggil melalui
      .
    -->
    <Pemacu:berubah-ubah Nama="tableStart">
      <Pemacu:jika ujian="$CurPos = 1">
        <![CDATA[
        <sempadan meja = 1>
          <TR bgcolor = "biru">
            <td><warna font = "putih"><b>Nama Projek</b></font></td>
            <TD menyelaraskan = "kanan"><warna font = "putih"><b>Tarikh melengkapkan</b></font></td>
            <TD menyelaraskan = "kanan"><warna font = "putih"><b>Bajet</b></font></td>
            <TD menyelaraskan = "kanan"><warna font = "putih"><b>Perbelanjaan sebenar</b></font></td>
            <td><warna font = "putih"><b>Keseluruhan Status</b></font></td>
          </tr>
        ]]>
      </Pemacu:jika>
    </Pemacu:berubah-ubah>

    <!--
      Berubah lagi, tableEnd hanya mentakrifkan tag jadual penutupan.

      Seperti tableStart, ia sentiasa emited.  Inilah sebabnya mengapa nilainya
      .
    -->
    <Pemacu:berubah-ubah Nama="tableEnd">
      <Pemacu:jika ujian="$CurPos = $ Last">
        <![CDATA[ </jadual> ]]>
      </Pemacu:jika>
    </Pemacu:berubah-ubah>

    <!--
      Sentiasa mengeluarkan kandungan tableStart.  Jika ini bukan yang pertama
      , maka kita tahu nilai
      .

      Melumpuhkan output melarikan diri kerana apabila tableStart ia tidak kosong, ia
      .  Jika
      , ini akan menghasilkan barangan seperti"&lt;jadual&gt;" bukannya daripada"<jadual>".
    -->
    <Pemacu:nilai-of pilih="$tableStart" melumpuhkan-output-melarikan diri="ya"/>


    <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>
        <Pemacu:nilai-of pilih="@ Project_x005F_x0020_Name"/>
      </td>

      <td menyelaraskan="betul">
        <Pemacu:nilai-of pilih="@ Project_x005F_x0020_End_x005F_x0020_Date"/>
      </td>

      <td menyelaraskan="betul">
        <Pemacu:panggilan template Nama="formatcurrency">
          <Pemacu:dengan-param Nama="nilai" 
pilih="@ Project_x005F_x0020_Budget"></Pemacu:dengan-param> </Pemacu:panggilan template> </td> <td menyelaraskan="betul"> <Pemacu:panggilan template Nama="formatcurrency"> <Pemacu:dengan-param Nama="nilai" pilih="@ Project_x005F_x0020_Expenses">
</Pemacu:dengan-param> </Pemacu:panggilan template> </td> <td> <Pemacu:nilai-of pilih="@ Project_x005F_x0020_Status"/> </td> <!-- Semua yang berikut adalah komen keluar untuk menjelaskan perkara-perkara. Walau bagaimanapun, membawa kembali dan barang-barang ke dalam <td> untuk melihat yang         . --> <!-- <DIV id = "linkitem" Class = "perkara"> <Pemacu:Jika ujian = "tali panjang($SafeImageUrl) != 0"> <DIV class = "imej kawasan-kiri"> <a href = "{$SafeLinkUrl}" target = "{$LinkTarget}"> <IMG class = "imej-fixed-width" SRC = "{$SafeImageUrl}"
Alt = "{@ ImageUrlAltText}"/> </1> </div> </Pemacu:jika> <DIV class = "pautan-barang"> <Pemacu:panggilan template
Name="OuterTemplate.CallPresenceStatusIconTemplate"/> <a href = "{$SafeLinkUrl}"
target = "{$LinkTarget}" Tajuk = "{@ LinkToolTip}"> <Pemacu:nilai daripada pilih = "$DisplayTitle" /> </1> <DIV class = "Perihalan"> <Pemacu:nilai bagi select="@Description" /> </div> </div> </div>
--> </tr> <!-- Mengeluarkan tag jadual penutupan. Jika kita tidak berada di barisan lepas, ini akan menjadi kosong. --> <Pemacu:nilai-of pilih="$tableEnd" melumpuhkan-output-melarikan diri="ya"/> </Pemacu:template> <Pemacu:template Nama="formatcurrency"> <Pemacu:param Nama="nilai" pilih="0" /> <Pemacu:nilai-of pilih='format-nombor($nilai, "$DDD,Ddd,DDD. DD", "kakitangan")' /> </Pemacu:template>

22 pemikiran untuk "Memaparkan Kandungan Web Keputusan Query Bahagian dalam Grid / Jadual

  1. Andreas

    Aah… Ia adalah kerana saya bernama gaya senarai saya berbeza dan tidak sedar bahawa dalam ContentQueryMain.xsl ini ia menyemak "gaya":

    <Pemacu:bila test="@Style='NameOfMyStyle'">

    Dengan itu dinamakan ia bekerja. 🙂

    Balas
  2. Andreas

    Ia hampir bekerja untuk saya: Saya berjaya output </jadual> mengakhiri tag dengan betul, tetapi tanda permulaan yang hilang. Ia seolah-olah ujian = "$CurPos = 1" tidak akan kembali benar. Tetapi mengapa?

    Balas
  3. Anand singh Rawat

    Great Post. Paul i telah melakukan semua perkara di atas. Saya mempunyai pertanyaan, Bagaimanakah boleh saya gigih jumlah "Expences sebenar jumlah" atau jumlah nilai dua tiang.

    Balas
  4. Lisa

    Adakah anda melakukan apa-apa kerja dengan mewujudkan adat ContentQueryMain dan ItemStyle Pemacu fail? Tujuan saya bertanya adalah bahawa saya tidak mahu bimbang tentang gaya adat saya yang ditulis ganti dengan mana-mana tompok atau peningkatan. Adakah anda mempunyai contoh-contoh? Saya telah cuba membuat salinan sama daripada ContentQueryMain.xsl dan memuat naik salinan yang baru adat Perpustakaan Gaya. Apabila meletakkan rujukan kepada fail Pemacu ini dalam harta MainXslLink itu. Webpart ini, Saya mendapat 401 tidak dibenarkan. Adat fail Pemacu adalah versi yang diterbitkan dan semua orang telah membaca akses kepada maklumat itu.

    Balas
  5. Greg Sheridan

    Hi, ini adalah benar-benar membantu posting. Saya telah ia semua bekerja, dan juga melaksanakan perubahan Mike Brown jadi kumpulan
    keputusan dalam jadual dengan apa yang saya pilih sebagai Kumpulan Dengan parameter di hartanah CQWB ini.
    Saya membuat tajuk pautan juga, supaya ia berfungsi dengan baik. Saya masih mempunyai satu masalah, walaupun. Saya kumpulan keputusan dengan nama tapak. Di dalam jadual, ia kumpulan mereka baik, dan ia kelihatan besar, tetapi ia masih mencetak semua kumpulan
    nama-nama(dalam kes saya nama-nama laman web ini) di atas meja. Adakah sesiapa yang tahu bagaimana untuk menghilangkan?
    Terima kasih,
    Greg

    Balas
  6. Tiada nama

    Artikel Nice. Saya berjaya memberikan meja saya rupa Senarai SharePoint lalai dengan menganalisis kod sumber senarai. Berikut adalah blok utama HTML diperlukan untuk dimuatkan dalam ItemStyle:

    <Jadual lebar = "100%" Class = "ms-listviewtable" Border = 0 cellspacing = 0 cellpadding = 1 dir = "Tiada">

    <!–HEADER–>
    <TR class = "ms-viewheadertr" Sewa ruang pejabat = TOP>
    <Skop TH nowrap = "Kol" Class = "ms-vh2"><Bhg. gaya = "lebar:100%;kedudukan:relatif;meninggalkan:0;atas:0;">
    <Jadual gaya = "lebar:100%;" CtxNum = "1" ketinggian = "100%" cellspacing = 1 cellpadding = kelas 0 = "ms-unselectedtitle">
    <TR>
    <Lebar TD = "100%" Class = "ms-BB" nowrap>
    Texte du titre ici

    </TD>
    <Gaya TD = "kedudukan:mutlak;">
    </TD>
    </TR>
    </JADUAL></div>
    </TH>

    <!–Ulang untuk semua sel-sel header–>
    </TR>

    <!– Data Jadual –>
    <TR class = "">
    <!–Ruangan Data, menggunakan kod Paul untuk yang pertama dengan hyperlink –>
    <TD Class = "ms-vb2">Data di sini</TD>

    <!–Ruang kosong–>
    <TD Class = "ms-vb2">
    <span dir = Tiada></span><
    /TD>

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

    <!–***Barisan alternatif – Gunakan ubah XSL baru yang akan memasukkan kelas ganti berdasarkan berturut-turut semasa modulo 2–>
    <TR class = "ms-berselang-seli">

    </TR>
    </JADUAL>

    Balas
  7. Mike Brown
    Zoltan,
    Saya bekerja pada isu yang sama seperti yang anda. Saya mahu semua saya item yang dipaparkan dalam cara yang telah dikumpulkan dan bukannya hanya lits. Di sini adalah bagaimana saya berjaya mencapai.
    ContentQueryMain.xsl
    <Pemacu:bila test="@Style='Grid'">
    <Pemacu:Pilih template memohon = "." mod = "itemstyle">
    <Pemacu:nama dengan param = "CurPos" Pilih "$CurPosition =" />
    <Pemacu:nama dengan param = "berlangsung" Pilih "$LastRow =" />
    <!–menambah seksyen baru ini untuk lulus dalam parameter yang menunjukkan kumpulan baru telah bermula–>
    <Pemacu:nama dengan param = "StartNewGroup" Select="@__begingroup" />
    </Pemacu:terpakai-template>
    </Pemacu:apabila>
    ItemStyle.xsl
    Tambah parameter anda
    <Pemacu:nama param = "StartNewGroup" />
    Tambah teks ini sebagai baris pertama data
    <Pemacu:memilih>
    <Pemacu:Bilakah ujian = "$StartNewGroup = 'True'">
    <tr>
    <td >
    <Pemacu:name="OuterTemplate.GetGroupName panggilan-template">
    <Pemacu:nama dengan param = "GroupName" Select="@*[Nama()= $ Kumpulan]"/>
    <Pemacu:nama dengan param = "GroupType" Pilih = "$GroupType" />
    </Pemacu:panggilan template>
    </td>
    </tr>
    </Pemacu:apabila>
    <Pemacu:sebaliknya>
    </Pemacu:sebaliknya>
    </Pemacu:memilih>
    Ini harus menjaga masalah Kumpulan anda dalam grid anda. Setiap Kumpulan akan bermula sekarang dengan baris baru menunjukkan nama Kumpulan. Dalam penyelesaian saya saya sebenarnya menambah kosong <td /> dalam data untuk mengensot ia juga supaya kumpulan itu berdiri lebih baik.
    Site1
    datacolumn1 datacolumn2 datacolumn3 dan lain-lain

    datacolumn1 datacolumn2 datacolumn3 dan lain-lain
    Site2
    datacolumn1 datacolumn2 datacolumn3 dan lain-lain
    Site3

    datacolumn1 datacolumn2 datacolumn3 dan lain-lain

    datacolumn1 datacolumn2 datacolumn3 dan lain-lain
    dan sebagainya..
    Balas
  8. Zoltan
    Hello Paul,
    Terima kasih untuk jawatan, i berjaya menganjurkan hasil pertanyaan saya dalam grid, yang sangat membantu. Walau bagaimanapun, Saya perlu pergi lebih jauh dan kumpulan keputusan saya berdasarkan Sites. Pada masa ini, nama-nama yang disenaraikan Site pertama, dan kemudian ada hanya satu grid besar mengumpul semua baris dari laman web yang berbeza. Sesuatu seperti ini:
    Site1 Nama
    Site2 Nama
    Data dalam grid untuk semua tapak
    Mana-mana idea-idea apa yang saya perlu mengubah suai untuk mendapatkan data saya seperti berikut:
    Site1 Nama
    Data dalam grid untuk Site1
    Site2 Nama
    Data dalam grid untuk Site2
    Terima kasih terlebih dahulu,
    Zoltan
    Balas
  9. Pierre Joubert
    Fantastic Post, menyelesaikan masalah saya, saya mempunyai.
    Isu hanya saya memaparkan bidang yang ditugaskan untuk, Saya konfigurasinya dengan "pengguna" jenis medan dan webpart yang diimport kemudian memaparkan ralat berikut:
    "Jadilah ralat mendapatkan data yang dipaparkan di Web ini."
    Saya telah cuba menggunakan semua jenis bidang mungkin, dengan apa-apa lain yang "pengguna" ia tidak memaparkan kesilapan, tetapi ia tidak memaparkan apa-apa bidang. Jadi saya menganggap jenis bidang pengguna adalah betul, Jadi saya mesti hilang suasana di suatu tempat.
    Mana-mana idea-idea ini?
    Salam
    Pierre
    Balas
  10. Charftong
    Great Post!!! Sangat Sangat berguna.
    Soalan Pantas, anda telah melakukan apa-apa kerja di atas memaparkan atau ditugaskan untuk ModifiedBy bidang dengan Kehadiran? Sebab-sebab tertentu, setiap kali saya cuba untuk dipslay yang Ditugaskan Untuk bidang di CQWP yang, Ia sentiasa memaparkan dengan sebagai contoh "203;#Charf Tong". Saya tidak dapat mencari cara sekitar ini.
    Balas
  11. Jennifer Davis
    Paul
    Rencana besar, terima kasih. Saya melakukan sesuatu yang hampir sama tetapi mahu memaparkan pautan ke tapak projek dan bukannya item dalam senarai. Sebagai contoh, kita mempunyai 25 atas tahap tapak projek dan setiap mengandungi senarai dengan jenis kandungan. Ini adalah Nama Projek, Bahagian, Penerangan. Saya mahu menggunakan kandungan query sebahagian web untuk tarik data ini dan telah berjaya kecuali bahawa secara lalai URL mengambil saya untuk kemasukan item dalam senarai dan saya benar-benar perlu untuk membawa saya ke tapak projek. anda boleh memberi saya apa-apa nasihat?
    Terima kasih
    Jen
    Balas
  12. Paul Galvin
    Kieren,
    Saya sentiasa menggunakan visual studio untuk mengedit XSL dalam. Ia menyediakan pengekodan warna dan ia juga mempunyai beberapa sokongan intellisense baik.
    –Paul
    Balas
  13. Kieran menulis:

    Hi Paul,

    Apabila bekerja dengan xml / XSL dan kandungan query sebahagian web, telah anda menemui apa-apa cara yang baik untuk format xslt anda? Cuba untuk membuat perubahan dan menguji reka bentuk terbukti sakit betul-betul di sebuah ** hanya menggunakan editor teks…

    Semua yang terbaik

    Balas
  14. Michael Dipay
    Mengenai isu ini saya mempunyai masa yang lepas di mana ia tidak memaparkan imej-imej dari pandangan grid tetapi sebaliknya memaparkan teks (https://myweb.com/Marketing/images/icn-order.gif,). Saya berjaya menyelesaikannya dengan bantuan SharePoint Designer dengan mewujudkan pandangan adat dan memilih tiang adat yang saya mahu untuk memaparkan. Saya mendapat tahu bahawa imej-imej jenis ruang ditunjukkan sebagai URL(koma) (e.g. https://myweb.com/Marketing/images/icn-order.gif,). Format semasa Text, jadi saya perlu menukar kepada Picture dari Pemacu biasa:nilai Tugas -> Format seperti GAMBAR. Perubahan ini paparan kepada imej adat yang saya mahu untuk menunjukkan. Saya disalin kod untuk menunjukkan imej ( <sempadan img ="0" SRC = "{subrentetan-sebelum(@ IcnOrder, ‘, ‘)}" /> ) Dan dalam fail ItemStyle.xsl saya perlu Tukar dalam @PICTURECOLUMNNAME dalam Kod <sempadan img ="0" SRC = "{subrentetan-sebelum(@ IcnOrder, ‘, ‘)}" /> . Kemudian simpan. Sekarang keputusan grid jadual saya untuk menunjukkan teks serta tiang-tiang jenis imej adat.
    Balas
  15. Helen
    Hi Paul,
    Terima kasih untuk artikel yang besar!
    Anda menyebut pemformatan bersyarat – "Anda boleh juga meletakkan dalam format bersyarat, seperti memaparkan projek-projek yang telah melebihi bajet mereka merah." Adakah anda kebetulan mempunyai satu contoh Kod untuk itu?
    Terima kasih sekali lagi!
    Helen
    Balas
  16. Michael Dipay
    Hi Paul,
    Ia adalah perkara besar dan mampu menghasilkan keputusan yang sama seperti yang dijangkakan. Saya mempunyai keperluan untuk menunjukkan imej dalam grid sebagai salah satu tiang yang. Ia tidak memaparkan imej pada grid tetapi sebaliknya memaparkan url untuk imej dengan (,) koma di hujung.
    (e.g. https://myweb.com/Marketing/images/icn-order.gif, )
    Sekiranya saya menggunakan imej atau gambar dalam Type Field CommonViewFields? (e.g. InternalColumnName, Imej)
    Terima kasih,
    Mike
    Balas
  17. Saji Ijiyemi

    Posting anda adalah tepat apa yang saya Cari. Walau bagaimanapun, Saya tidak boleh mendapatkannya untuk bekerja.

    Saya ada dokumen yang disimpan dalam pelbagai doc. Perpustakaan tetapi dikelaskan menggunakan ruangan kelas adat (pilihan: 1 atau 2. Saya ingin menggunakan CQWP untuk menunjukkan dokumen-dokumen yang berdasarkan kelas mereka.
    Saya telah dapat menambah CQWP yang, mengeksport ke SPD, Konfigurasi itemStyle.xls untuk menunjukkan bidang adat dalam senarai paparan. Walau bagaimanapun, Saya boleh tidak berjaya melaksanakan apa yang anda Terangkan di sini.

    Ini adalah tiang yang saya ingin menunjukkan di CQWP saya:

    Jenis fail (untuk menunjukkan ikon)
    Tajuk fail
    Tarikh Dikemaskini
    Diubahsuai oleh yang
    Keluar ke
    Disemak di komen

    Saya kini mempunyai hasil dalam format senarai. Bagaimana saya mengubah itu kepada talble format.

    Terima kasih.

    Tudong Saji

    Balas

Tinggalkan Jawapan kepada Pierre Joubert Batal reply

alamat e-mel anda tidak akan diterbitkan. Ruangan yang diperlukan ditanda *