İçerik Sorgusu Web Bölümü sonuçları kılavuzunda / Tablo

Genel bakış ve amaç

Kutunun dışında, YOSUN’ İçerik Sorgusu Web Bölümü (CQWP) sonuçları liste biçiminde görüntüler., Arama sonuçlarına benzer. Sonuçları kılavuz biçiminde görüntülemek mümkündür (Yani. HTML tablo biçiminde). Kılavuz biçimleri bazı durumlarda daha iyi.. Ben bu yazıda bu etkiyi elde etmek nasıl tarif.

İş senaryosu

Bir kuruluş çapında MOSS rollout bir müşteriyle çalıştım. Projeler sıradüzeni içindeki ilk sınıf vatandaş ve kullanıcıların kendi üst düzey site vardır öyle ki onların taksonomisini tasarladık. Proje yöneticileri proje özet bilgileri, aynı cinsten tek adet listesini korumak, gibi başlık, bütçe, beklenen tamamlanma tarihi, kalan bütçe ve diğer Özet türü alanları. "Singleton tarafından" Demek istediğim sadece bir öğe içermesi için garantili özel bir SharePoint listesi. Basitçe, Bu gibi görünüyor:

görüntü

Teknik yaklaşım çok açıklananla aynıdır Burada (http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!447.entry). CQWP işlemek için tarayıcı için HTML yayılmasını sağlamak için bir XSL Dönüşümü kullanır.

Ben her zaman sonuç XSL bir kâbus çünkü XSL dalış önce öngörülüyor. İşte benim istenilen sonucu:

görüntü

Bu sonucu bu HTML oluşturur:

<HTML>
 <vücut>
 <Merkezi>
 <Tablo Kenarlık= 1>

<!-- Etiketleri...>
 <tr bgcolormavi =>
 <TD><yazı tipi RenkBeyaz =><b>Proje adı</b></yazı tipi></TD>
 <TD hizalamasağ =><yazı tipi RenkBeyaz =><b>Tam bir Tarih</b></yazı tipi></TD>
 <TD hizalamasağ =><yazı tipi RenkBeyaz =><b>Bütçe</b></yazı tipi></TD>
 <TD hizalamasağ =><yazı tipi RenkBeyaz =><b>Gerçek gider</b></yazı tipi></TD>
 <TD><yazı tipi RenkBeyaz =><b>Genel durum</b></yazı tipi></TD>
 </tr>

<tr>
 <TD>Bilgisayar odası yeniden tel.</TD>
 <TD hizalamasağ =>02/01/08</TD>
 <TD hizalamasağ =>22,500.00</TD>
 <TD hizalamasağ =>19,000.00</TD>
 <TD>Devam eden</TD>
 </tr>

<tr>
 <TD>Hüküm sunucuları SQL yükseltmek için</TD>
 <TD hizalamasağ =>04/01/08</TD>
 <TD hizalamasağ =>7,500.00</TD>
 <TD hizalamasağ =>0.00</TD>
 <TD>Planlanan</TD>
 </tr>

</Tablo>
 </Merkezi>
 </vücut>
</HTML>

Yaklaşım

Kılavuz oluşturmak için aşağıdaki adımları izleyin:

  1. Izgara bileşenleri belirle (satır/sütun).
  2. Gerekli site sütunları oluşturun ve tanımlayın.
  3. Projeler ve aynı cinsten tek adet listeler için alt site oluşturma.
  4. CQWP bir web sayfasına ekleyebilir ve listeleri için arama için yapılandırın.
  5. Ek sütunları toplamak için CQWP'in XML değiştirme.
  6. Bir tablo oluşturmak için XSL değiştirme.

Altı numara üzerinde konsantre olmaya gidiyorum. Dörde numara düz ileri ve herhangi bir CQWP kullanıcı zaten yaptığı bir şey vardır. Beş numaralı başkaları bu ayrıntılı ekran-shot bin Ladin'in makale--dan MSDN de dahil olmak üzere tarafından iyi belgelenmiş oldu Burada (http://msdn2.microsoft.com/en-us/library/bb897399.aspx) ve Heather Solomon's blog Burada (http://www.heathersolomon.com/blog/articles/CustomItemStyle.aspx).

Somun ve civata

Başlar ve birden beşe MSDN belgeleri ve Heather Süleyman'ın makale başına adımları uygulamak.

Bu noktada, Senin CQWP sayfaya ekledik ve var senin <CommonViewFields> gerektiği gibi yapılandırılmış.

Her zamanki gibi adımları takip, Bu ara sonuçlar elde:

1. İçerik türü oluştur, şablonlaştırılmış özel bir liste içerik türü ve iki site için. İşte içerik türü:

görüntü

İşte site yapısı:

görüntü

2. Benim proje alt siteler ve aynı cinsten tek adet proje özet liste oluşturduktan sonra CQWP Ekle:

görüntü

3. Via istediğim tüm ek bilgileri ekleyin <CommonViewFields>:

        <özelliği adı="CommonViewFields" türü="dize">Project_x0020_Name;Project_x0020_Expenses;Project_x0020_Status;Project_x0020_Start_x0020_Date;Project_x0020_End_x0020_Date;Project_x0020_Budget</özelliği>

Bir satır veya tüm özellik alanları tutmak zorunda notu-cekti değil iş (CQWP sorgu öğe döndürülen söylerdin).

4. Bu noktada, MSDN makalesine taşımak hazır olduğumuzu ve flip üzerinde Heather Süleyman'ın makale. Adım başlayan onun adımları izleyin #5 özelleştirilmiş oluşturmak için / unghosted yorum-in ItemStyle.xsl. Heather'ın tavsiyelerine uymak, yukarı adım adım 11 ve bu ara sonuçlar elde:

4.1: Aşağıdaki gibi benim XSL şablon adı:

<XSL:Şablon adı "Kılavuzu =" maç "satır =[@Style = 'Tablo']" Mode = "ItemStyle">

Ayrıca biraz ona önerilen değiştirme <XSL:for-each …> ekleyerek bir <br /> temiz bir liste sağlamak için etiket:

    <XSL:for-each seçin="@*">
      P:<XSL:value-of seçin="adı()" /><br/>
    </XSL:for-each>

4.2: Web bölümü'nü değiştirme, görünümüne gidin ve kılavuz"seçin" Stil:

görüntü

Değişikliği uygulayın ve sonuç:

görüntü

Biz yukarıda istediğimiz alanlar görebilirsiniz (Proje adı, gider, durumu, vb) bizim için ne zaman biz HTML yayarlar kullanmak kullanılabilir. Sadece bu değil, Ama biz hangi tarafından biz XSL bu sütunlar başvuru gerekir adlarını görmek. Örneğin, Biz proje durumu "Project_x005F_x0020_Name" referans.

Bu noktada, Heather'ın blog ve bu devlerin omuzları hareket, Kendi parçada.

ContentQueryMain.xsl

NOT: Hem ContentQueryMain.xsl hem de ItemStyle.xsl değişiklik yaparken, kontrol değişikliklerinizin etkisini görmeden önce bu dosyaları geri gerek.

Izgara yapma amaçlı, Biz bir CQWP görmek sonuçlar üretmek için iki farklı XSL dosyaları MOSS kullanır. Önceki bit çıkış oluşturmak için, ItemStyle.xsl modifiye. MOSS, aslında başka bir XSL dosyası kullanır, Kendi HTML oluşturmak için ItemStyle.xsl ile birlikte için ContentQueryMain.xsl. Adından da anlaşılacağı gibi, "Ana ContentQueryMain.xsl olduğunu" Çeviri genel akışını kontrol XSL. Bulunan öğeler arasında sırayla dolaşır ve ItemStyle.xsl içinde tek tek şablonlarına geçirir. ItemStyle.xsl açık oluşturmak için değiştirmeden <Tablo> ilk satır veri ve kapanış yayan önce etiketi <Tablo> son satırı yayan sonra etiketi. Bunu gerçekleştirmek için, Bizim "kılavuz için iki parametre iletmek için ContentQueryMain.xsl modifiye" ItemStyle.xsl şablonu, "son satırı" ve "geçerli satır". ItemStyle.xsl bunlar koşullu olarak gerekli Etiketler yayılmasını sağlamak için kullanır.

Heather Süleyman'ın tekniği kullanılarak, Biz ContentQueryMain.xsl bulun. Bu ItemStyle.xsl olarak aynı yerde bulunur. Bu ekran görüntüsü yardımcı olacaktır:

görüntü

Aşağıdaki değişiklikleri yapmanız gerekir:

  • Bir xsl şablonu değiştirme, "CallItemTemplate" Bu aslında bizim kılavuz şablonunda ItemStyle.xsl çağırır. Böylece koşullu olarak açılış ve kapanış oluşturmak için gerek duyduğu verileri olacaktır Biz iki parametre kılavuz şablon geçecek <Tablo> Etiketler.
  • "CallItemTemplate çağırır ContentQueryMain.xsl başka bit değiştirmek" "LastRow geçmek için" Böylece o LastRow bizim kılavuz şablonunu aktarılabilir parametresi.

"OuterTemplate.CallItemTemplate adlı şablonu bulun" dizesinde tanımlanan:

  <XSL:Şablon adı="OuterTemplate.CallItemTemplate">

Tüm şablon aşağıdaki gibi değiştirin:

  <XSL:Şablon adı="OuterTemplate.CallItemTemplate">
    <XSL:param adı="CurPosition" />

    <!--
      "LastRow Ekle" parametre.
      Biz sadece öğe stili geçişte "Kılavuz" olduğunda kullanmak.
    -->
    <XSL:param adı="LastRow" />

    <XSL:seçin>
      <XSL:Ne zaman test="@Style 'NewsRollUpItem' =">
        <XSL:uygulama şablonları seçin="." modu="ItemStyle">
          <XSL:param ile adı="EditMode" seçin="$cbq_iseditmode" />
        </XSL:uygulama şablonları>
      </XSL:Ne zaman>
      <XSL:Ne zaman test="@Style 'NewsBigItem' =">
        <XSL:uygulama şablonları seçin="." modu="ItemStyle">
          <XSL:param ile adı="CurPos" seçin="$CurPosition" />
        </XSL:uygulama şablonları>
      </XSL:Ne zaman>
      <XSL:Ne zaman test="@Style 'NewsCategoryItem' =">
        <XSL:uygulama şablonları seçin="." modu="ItemStyle">
          <XSL:param ile adı="CurPos" seçin="$CurPosition" />
        </XSL:uygulama şablonları>
      </XSL:Ne zaman>

      <!--
              Geçerli konum ve lastrow kılavuz itemstyle.xsl þablona geçirmek.
              ItemStyle.xsl bunu açığa çıkarmak için kullanacak ve kapanış <Tablo> Etiketler.
      -->
      <XSL:Ne zaman test="@Style = 'Tablo'">
        <XSL:uygulama şablonları seçin="." modu="ItemStyle">
          <XSL:param ile adı="CurPos" seçin="$CurPosition" />
          <XSL:param ile adı="Son" seçin="$LastRow" />
        </XSL:uygulama şablonları>
      </XSL:Ne zaman>

      <XSL:Aksi takdirde>
        <XSL:uygulama şablonları seçin="." modu="ItemStyle">
        </XSL:uygulama şablonları>
      </XSL:Aksi takdirde>
    </XSL:seçin>
  </XSL:Şablon>

Yorum değişiklikleri amacını açıklayın..

Elbette, "OuterTemplate.CallItemTemplate" kendisi başka bir şablon adı neydi. Bu şablon için bu metin dizesi arayarak bulun:

<XSL:Şablon adı="OuterTemplate.Body">

OuterTemplate.Body bu yönergeleri kaydırmak ve LastRow parametre aşağıdaki gibi yerleştirin (yorum italik olarak gösterilen):

<XSL:Call-template adı="OuterTemplate.CallItemTemplate">
  <XSL:param ile adı="CurPosition" seçin="$CurPosition" />
  <!-- LastRow parametre Ekle. -->
  <XSL:param ile adı="LastRow" seçin="$LastRow"/>
</XSL:Call-template>

Bütün bunlardan sonra, sonunda şeyler bizim ItemStyle.xsl yayarlar olabilir böylece düzgün kurmak var. <Tablo> Etiketler doğru yerde.

ItemStyle.Xsl

NOT: Tekrar, ItemStyle.xsl herhangi bir değişiklik yaptıktan sonra bu değişikliklerin etkisini görmek kontrol.

Burada iki görev var:

  • Tüm kılavuz şablonunu değiştirmek. Sen kopya/aşağıdan hamur.
  • "Formatcurrency sağlar şablon tanımının dışında bazı mırıldanmak jumbo Ekle" çalışmak için şablon. (XSL üzerinde ince bir kolu var söyleyebilirim).

İlk, ItemStyle.xsl üst kısmında, Bu satırı ekleyin:

  <!-- ABD görüntülemek sağlar bazı mırıldanmak jumbo. para birimi. -->
  <XSL:ondalık biçimi adı="personel" basamak="D" />

  <XSL:Şablon adı="Varsayılan" maç="*" modu="ItemStyle">

Not doğrudan daha önce eklediğim <XSL:Şablon adı "varsayılan =" …> tanımı.

Sonraki, bizim kılavuz şablona geri dön. Tüm kılavuz şablonu aşağıdaki kod ile değiştirin. İyice yorumladı, Ama bana e-posta veya sorularınız varsa, blog sayfamda yorum çekinmeyin.

  <XSL:Şablon adı="Kılavuz" maç="Satır[@Style = 'Tablo']" modu="ItemStyle">

    <!--
      CurPos ve son ContentMain.xsl geçer.
      Bunlar koşullu olarak açığa çıkarmak için kullandığımız ve kapanış <Tablo> Etiketler.
    -->
    <XSL:param adı="CurPos" />
    <XSL:param adı="Son" />

    <!-- Aşağıdaki değişkenler standart ItemStyle.xsl değişmemiş -->
    <XSL:değişken adı="SafeImageUrl">
      <XSL:Call-template adı="OuterTemplate.GetSafeStaticUrl">
        <XSL:param ile adı="UrlColumnName" seçin="'ImageUrl'"/>
      </XSL:Call-template>
    </XSL:değişken>
    <XSL:değişken adı="SafeLinkUrl">
      <XSL:Call-template adı="OuterTemplate.GetSafeLink">
        <XSL:param ile adı="UrlColumnName" seçin="'LinkUrl'"/>
      </XSL:Call-template>
    </XSL:değişken>
    <XSL:değişken adı="DisplayTitle">
      <XSL:Call-template adı="OuterTemplate.GetTitle">
        <XSL:param ile adı="Başlık" seçin="@Title"/>
        <XSL:param ile adı="UrlColumnName" seçin="'LinkUrl'"/>
      </XSL:Call-template>
    </XSL:değişken>
    <XSL:değişken adı="LinkTarget">
      <XSL:Eğer test="@OpenInNewWindow 'True' =" >_blank</XSL:Eğer>
    </XSL:değişken>

    <!--
      Buraya bir değişken tanımlamak, "tableStart".  Bu açılış tablo hem de sütun etiketlerini tanımlamak için kullanın HTML içeriyor.  Unutmayın CurPos = 1, bir CDATA etiketi içerisinde HTML içerir.
      Aksi takdirde, boş olacaktır.

      ItemStyle ContentQueryMain.xsl yolu ile adlandırılır her zaman tableStart emited değeridir.
    -->
    <XSL:değişken adı="tableStart">
      <XSL:Eğer test="$CurPos = 1">
        <![CDATA[
        <tablo kenarlığı = 1>
          <tr bgcolor = "blue">
            <TD><yazı tipi rengi "beyaz" =><b>Proje adı</b></yazı tipi></TD>
            <TD align = "sağ"><yazı tipi rengi "beyaz" =><b>Tam bir Tarih</b></yazı tipi></TD>
            <TD align = "sağ"><yazı tipi rengi "beyaz" =><b>Bütçe</b></yazı tipi></TD>
            <TD align = "sağ"><yazı tipi rengi "beyaz" =><b>Gerçek gider</b></yazı tipi></TD>
            <TD><yazı tipi rengi "beyaz" =><b>Genel durum</b></yazı tipi></TD>
          </tr>
        ]]>
      </XSL:Eğer>
    </XSL:değişken>

    <!--
      Başka bir değişken, tableEnd sadece kapanış tanımlar tablo etiketi.

      TableStart olduğu gibi, her zaman emited olduğunu.  Bu yüzden değerini koşullu olarak bağlı olup son satırı ContentQueryMain.xsl tarafından geçtik atanır.
    -->
    <XSL:değişken adı="tableEnd">
      <XSL:Eğer test="$CurPos $Last =">
        <![CDATA[ </Tablo> ]]>
      </XSL:Eğer>
    </XSL:değişken>

    <!--
      Her zaman tableStart içeriğini yayarlar.  Bu bize ContentQueryMain.xsl tarafından geçirilen ilk satır değilse, o zaman biliyoruz değeri boş olacaktır.

      Çünkü çıkış kaçan devre dışı bırakmak ne zaman tableStart değil boş, tarayıcı tarafından işlenip istediğiniz gerçek HTML içerir.  Biz anlatmazsan, devre dışı bırakmak için XSL ayrıştırıcısı kaçan çıkış, Bu gibi şeyler oluşturur"&lt;Tablo&gt;" yerine "<Tablo>".
    -->
    <XSL:value-of seçin="$tableStart" sakatlar çıkış kaçan="Evet"/>


    <tr>
      <!--
      P:Project_x005F_x0020_Name P:Project_x005F_x0020_End_x005F_x0020_Date P:Project_x005F_x0020_Budget P:Project_x005F_x0020_Expenses P:Project_x005F_x0020_Status
      -->
      <TD>
        <XSL:value-of seçin="@Project_x005F_x0020_Name"/>
      </TD>

      <TD hizalama="sağ">
        <XSL:value-of seçin="@Project_x005F_x0020_End_x005F_x0020_Date"/>
      </TD>

      <TD hizalama="sağ">
        <XSL:Call-template adı="formatCurrency">
          <XSL:param ile adı="değer" 
seçin="@Project_x005F_x0020_Budget"></XSL:param ile> </XSL:Call-template> </TD> <TD hizalama="sağ"> <XSL:Call-template adı="formatCurrency"> <XSL:param ile adı="değer" seçin="@Project_x005F_x0020_Expenses">
</XSL:param ile> </XSL:Call-template> </TD> <TD> <XSL:value-of seçin="@Project_x005F_x0020_Status"/> </TD> <!-- Tüm aşağıdaki yorumladı dışarı şeyleri açıklamak için. Ancak, geri getirmek ve malzeme o içine bir <TD> etkisini görmek için. --> <!-- <div kimliği "linkitem =" sınıf "öğe" => <XSL:Eğer test "dize uzunluğu =($SafeImageUrl) != 0"> <div class = "resim alanı sol"> <bir href = "{$SafeLinkUrl}" hedef = "{$LinkTarget}"> <img sınıf "görüntü-sabit genişlikli =" src = "{$SafeImageUrl}"
alt = "{@ImageUrlAltText}"/> </bir> </div> </XSL:Eğer> <div class = "bağlantı-madde"> <XSL:Call-template
Name="OuterTemplate.CallPresenceStatusIconTemplate"/> <bir href = "{$SafeLinkUrl}"
hedef = "{$LinkTarget}" Title = "{@LinkToolTip}"> <XSL:Seçme değer-in "$DisXSLyTitle" = /> </bir> <div class = "açıklama"> <XSL:değer-in select="@Description" /> </div> </div> </div>
--> </tr> <!-- Kapanış yayarlar masa etiketi. Son satırda ise değil, Bu-ecek var olmak boş. --> <XSL:value-of seçin="$tableEnd" sakatlar çıkış kaçan="Evet"/> </XSL:Şablon> <XSL:Şablon adı="formatCurrency"> <XSL:param adı="değer" seçin="0" /> <XSL:value-of seçin='Format-number($değer, "$DDD,DDD,DDD.DD", "personel")' /> </XSL:Şablon>

22 “Üzerine düşüncelerİçerik Sorgusu Web Bölümü sonuçları kılavuzunda / Tablo

  1. Andreas

    Aah… Çünkü benim liste stili farklı adlandırılmış ve ContentQueryMain.xsl için "Stil" denetler farkında değildi yapıldı.:

    <XSL:Ne zaman test="@Style='NameOfMyStyle'">

    Bu yeniden işe yaradı. 🙂

    Yanıtla
  2. Andreas

    Neredeyse benim için çalıştı: Çıkış yönetmek </Tablo> etiket sona doğru, Ama başlangıç etiketi eksik. Görünüşe göre test = "$CurPos = 1" gerçek döndürmüyor. Ama neden?

    Yanıtla
  3. Anand singh Rawat

    Büyük posta. Yukarıdaki herşeyi yaptım Paul. Bir sorgu var, nasıl-ebilmek ı başarmak "toplam fiili masraflar toplamı" ya da iki sütun değerinin toplamı.

    Yanıtla
  4. Lisa

    Özel ContentQueryMain ve ItemStyle xsl dosyaları oluşturma ile herhangi bir iş yaptın mı? Sormamın nedeni, herhangi bir yama veya yükseltmeleri ile üzerine benim özel stiller hakkında endişelendirmek istemiyorum olduğunu. Örnekler var mı? Ive'güvenilir ContentQueryMain.xsl özdeş bir kopyasını yapmak ve yeni bir özel kopyasını stil kitaplığı karşıya yükleniyor.. Ne zaman bu xsl dosyasına başvuru .webpart 's MainXslLink özelliğinde koyarak, I almak 401 yetkili değil. Özel xsl dosyası yayımlanmış sürümü ve herkes okuma erişimi vardır.

    Yanıtla
  5. Greg Sheridan

    Merhaba, Bu gerçekten yararlı bir gönderme yapıldı.. I-si olmak o tüm çalışma, ve böylece bu gruplar da uygulanan Mike Brown'ın Değiştir
    sonuçları ne olursa olsun tarafından tablo içinde grup tarafından parametresi olarak CQWB'ın Özellikleri Seç.
    Ayrıca bir bağlantı başlık yaptı., çok güzel çalışıyor. Hala bir sorunum var., Yine de. Site adına göre sonuçlar gruplandırma. Tablonun içinde, Bu onları güzel gruplar, ve harika görünüyor, Ama hala baskı dışarı tüm grubu
    adları(Benim durumumda site adları) Tablonun üst kısmındaki. Şunları yapmayı bilen var mı?
    Teşekkürler,
    Greg

    Yanıtla
  6. Adı yok

    Güzel eşya. Benim tablo liste kaynak kodunu analiz ederek varsayılan Sharepoint listeleri görünümünü vermek başardı.. İşte ItemStyle içinde sığdırmak için gerekli temel HTML blokları:

    <Tablo genişliği = "0" Class = "ms-listviewtable" sınır 0 cellspacing = 0 CELLPADDING = 1 dir = = "Hiçbiri">

    <!–BAŞLIK–>
    <TR class = "ms-viewheadertr" DHİZALAMA YUKARIDA =>
    <TH kaydırma kapsamı "col =" Class = "ms-vh2"><div style = "Genişlik:100%;pozisyon:göreli;sol:0;Sayfanın Üstü:0;">
    <TABLO stili "width =:100%;" CtxNum = "1" Yükseklik = "0" CellSpacing = 1 CELLPADDING = 0 class = "ms-unselectedtitle">
    <TR>
    <TD width = "0" Class = "ms-vb" kaydırma>
    Texte du titre ICI

    </TD>
    <TD style = "konumu:mutlak;">
    </TD>
    </TR>
    </TABLO></div>
    </İNCİ>

    <!–Tüm üstbilgi hücresi için yineleyin.–>
    </TR>

    <!– Tablo verileri –>
    <TR class = "">
    <!–Veri sütunu, bir köprü ile Paul kodu kullanın –>
    <TD Class = "ms-vb2">Burada veri</TD>

    <!–Boş sütun–>
    <TD Class = "ms-vb2">
    <dir span = hiçbiri></yayılma><
    /TD>

    <!–Tarih sütun–>
    <TD Class = "ms-vb2">
    <NOBR>11/12/2008</NOBR>
    </TD>
    </TR>

    <!–***Diğer satır – 2 Modül etkin satırı temel alan diğer sınıf ekler yeni bir XSL değişken kullanma–>
    <TR class = "ms-alternatif">

    </TR>
    </TABLO>

    Yanıtla
  7. Mike Brown
    Zoltan,
    Senin gibi aynı konuda çalışıyordu. Ben sadece bir ekranın yerine gruplandırılmış bir şekilde görüntülenen tüm benim öğelerini istedim. İşte nasıl bunu elde.
    ContentQueryMain.xsl
    <XSL:Ne zaman test="@Style='Grid'">
    <XSL:uygulama şablonları seçin = "." Mode = "ItemStyle">
    <XSL:param ile adı "CurPos =" seçin "$CurPosition =" />
    <XSL:param ile adı "son =" seçin "$LastRow =" />
    <!–yeni bir grup gösteren parametre geçirmek için bu yeni bölüm başladı Ekle–>
    <XSL:param ile adı "StartNewGroup =" Select="@__begingroup" />
    </XSL:uygulama şablonları>
    </XSL:Ne zaman>
    ItemStyle.xsl
    Parametre ekleme
    <XSL:parametre adı "StartNewGroup" = />
    Bu metin, verilerin ilk satırı ekleyin
    <XSL:seçin>
    <XSL:Ne zaman test = "$StartNewGroup 'True' =">
    <tr>
    <TD >
    <XSL:Call-template name="OuterTemplate.GetGroupName">
    <XSL:param ile adı "GrupAdı =" Select="@*[adı()$Group =]"/>
    <XSL:param ile adı "GroupType =" seçmek "$GroupType" = />
    </XSL:Call-template>
    </TD>
    </tr>
    </XSL:Ne zaman>
    <XSL:Aksi takdirde>
    </XSL:Aksi takdirde>
    </XSL:seçin>
    Bu senin kılavuz, gruplandırma verildiği dikkat çekmek gerekir. Her grubu yeni bir satır grup adı belirten başlıyor. Benim çözüm aslında bir boşluk eklendi <TD /> de bu yüzden girintilemek için verileri gruplandırma daha iyi dikkat çekici.
    Site1
    datacolumn1 datacolumn2 datacolumn3 vb

    datacolumn1 datacolumn2 datacolumn3 vb
    Site2
    datacolumn1 datacolumn2 datacolumn3 vb
    Site3

    datacolumn1 datacolumn2 datacolumn3 vb

    datacolumn1 datacolumn2 datacolumn3 vb
    vb.
    Yanıtla
  8. Zoltan
    Merhaba Paul,
    Yazı için teşekkürler, benim sorgu sonuçlarını bir kılavuzda düzenlemek başardı., Bu çok yardımcı oldu. Ancak, Ben daha ileri gitmeli ve sitelerde dayalı benim sonuçlar grup. Şu anda, Site adlarını ilk sırada, ve sonra orada tüm satırları farklı sitelerden toplama tek bir büyük kılavuz. Böyle bir şey:
    Site1 adı
    Site2 adı
    Veri kılavuzundaki tüm siteler için
    Birisi düşünce üstünde aşağıdaki gibi benim veri almak için değiştirmeniz gerekir:
    Site1 adı
    Veri kılavuzunda Site1 için
    Site2 adı
    Veri kılavuzunda Site2 için
    Teşekkür peşin,
    Zoltan
    Yanıtla
  9. Pierre Joubert
    Fantastic sonrası, Ben vardı benim sorunum çözüldü.
    Benim tek sorun, atanan alanını görüntüleme, "Kullanıcı ile yapılandırın." alan türü ve alınan Web Bölümü daha sonra aşağıdaki hata görüntüler:
    "Bu Web bölümünde görüntülenecek veri alınırken bir hata oluştu."
    I-si olmak güvenilir tüm olası alan türleri kullanarak, bir şey ile diğer kullanıcı"" hata iletisi görüntülemez, Ama bu alana hiçbir şey görüntülenmez. I am gerçek saymak bu yüzden kullanıcı alanı türün doğru olduğundan, Ben bir ayarı eksik olmalı bu yüzden bir yere.
    Herhangi bir fikir bu?
    Saygılarımızla
    Pierre
    Yanıtla
  10. Charftong
    Büyük posta!!! Çok çok yararlı.
    Hızlı soru, Atanan veya ModifiedBy alanların varlığı ile görüntülenmesi herhangi bir iş yaptın mı? İçin biraz neden, Ne zaman şuna atanmış alanını CQWP için dipslay deneyin, o her zaman görüntüler ile örneğin "203;#Charf Tong". I cant'bulmak a yol çevrede bu.
    Yanıtla
  11. Jennifer Davis
    Paul
    Büyük eşya, Teşekkür ederiz. Çok benzer bir şey yapıyorum ama listedeki öğe yerine proje sitesine bir bağlantı görüntülemek istediğiniz. Örneğin, Yaptık 25 üst düzey proje siteleri ve her bir liste içerik türleri ile içerir. Bunlar proje adı., Bölümü, Açıklama. İçerik sorgusu web bölümü varsayılan URL madde giriş listesinde beni alır, ve I gerçekten lüzum o için proje sitesi almaya başardı ve bu verileri çekmek için kullanmak istediğiniz. herhangi bir tavsiye verebilir miyim?
    Teşekkür ederiz
    Jen
    Yanıtla
  12. Paul Galvin
    Kieren,
    Ben her zaman XSL'i düzenlemek için visual studio kullanın. Renk kodlamasını sağlar ve ayrıca bazı iyi IntelliSense desteği vardır.
    –Paul
    Yanıtla
  13. Kieran yazdı:

    Merhaba Paul,

    Xml ve xsl ve içerik sorgusu web bölümü ile çalışırken, Senin xslt biçimlendirmek için herhangi bir iyi yolu buldun mu? Değişiklik yapmak ve tasarım test etmeye doğru ağrı kanıtlayan bir ** sadece bir metin editörü kullanarak…

    Tüm iyi

    Yanıtla
  14. Michael Dipay
    Konu ile ilgili nereye o kılavuz görünümü gelen resimleri görüntüleme değil ama bunun yerine metni görüntüler son kez görüyordum (https://myweb.com/Marketing/images/icn-order.gif,). Özel görünüm oluşturmak ve görüntülemek istediğiniz özel sütunları seçme SharePoint Designer yardımı ile çözmek yönetmek. Görüntüler sütun tipi olarak gösterilen öğrendim(virgül) (e.g. https://myweb.com/Marketing/images/icn-order.gif,). Geçerli biçimi metindir, böylece ortak xsl resim olarak değiştirmek zorunda:Görevleri değer-in-> Resim biçimi. Bu değişikliği görüntülemek için özel görüntüleri göstermek istedim.. Görüntüyü göstermek için kod kopyalanan ( <IMG sınır ="0" src = "{alt dize-önce(@IcnOrder, ‘, ‘)}" /> ) Ve ItemStyle.xsl dosyasında @PICTURECOLUMNNAME kodunu değiştirmek zorunda <IMG sınır ="0" src = "{alt dize-önce(@IcnOrder, ‘, ‘)}" /> . Sonra kaydedin. Şimdi benim Tablo Kılavuz sonuçlar metin gibi özel resim göstermek için sütunları yazın.
    Yanıtla
  15. Helen
    Merhaba Paul,
    Harika yazı için teşekkür ederiz!
    Bahsettiğiniz koşullu biçimlendirme – "Ayrıca koşullu biçimlendirme koyabilirsiniz, kendi bütçe kırmızı aşmış olan projeleri görüntüleme gibi." Bunun için bir kod örneği var mı?
    Teşekkür bir daha!
    Helen
    Yanıtla
  16. Michael Dipay
    Merhaba Paul,
    Bu harika bir yazı idi ve beklendiği gibi aynı sonuçları elde edebilecektir. Bir resmi kılavuzda sütunlarından biri göstermek için şartı var. Resmi kılavuz üzerinde görünmüyor ama onun yerine ile görüntü URL'sini görüntüleyen bir (,) sonunda virgül.
    (e.g. https://myweb.com/Marketing/images/icn-order.gif, )
    Resim veya görüntü CommonViewFields alan türünü kullanmalıyım? (e.g. InternalColumnName, Görüntü)
    Teşekkürler,
    Mike
    Yanıtla
  17. Yılmaz Ijiyemi

    Senin tam olarak ne ı was seyir için bir mesajdır. Ancak, I cant almak o iş için.

    I-si olmak içinde çeşitli doc depolanan belgeleri. Ama gizli bir özel sınıf sütun kullanarak kütüphaneleri (seçim: 1 veya 2. CQWP kendi sınıfını esas bu belgeleri göstermek için kullanmak istediğiniz.
    CQWP eklemek başardı, SPD'ye verme, özel alanları liste görünümünde göstermek için itemStyle.xls yapılandırma. Ancak, Ben başarılı bir şekilde ne burada tarif uygulamak olabilir değil.

    Bunlar benim CQWP göstermek istediğiniz sütunlar.:

    Dosya türü (simgesini göstermek için)
    Dosya başlığı
    Son değiştirilme tarihi
    Kim tarafından modifiye
    Kullanıma
    Yorum kontrol

    Ben şu anda var sonuç-e doğru liste biçiminde. Talble biçimine nasıl değiştirebilirim.

    Teşekkürler.

    Yılmaz

    Yanıtla

Bir yanıt bırak Pierre Joubert Cevabı iptal

E-posta hesabınız yayımlanmayacak. Gerekli alanlar işaretlendi *