Kategoriaj Arkivoj: SharePoint Evoluado

Beware Rompanta Ŝanĝojn al ItemStyle.Xsl

Mi estis laboranta kun ItemStyle.Xsl personigi la rigardon de Kontenta Demanda Araneaĵa Parto kaj ĝusta pri lunĉa tempo, Mi faris fendan ŝanĝon al la xsl. Mi ne konsciis ĝin, Sed tio ĉi ege atingis efikojn dum la eja kolekto. Mi iris ekstere lunĉi kaj al mia reveno, Rimarkis ĉi tiun mesaĝon aperanta en aro de lokoj:

Nekapabla montri ĉi tiun Araneaĵan Parton. Al troubleshoot la problemo, Malfermi ĉi tiun Retpaĝon en Fenestroj SharePoint Servoj-kongrua HTMLa redaktoro kiel Microsoft Oficejo SharePoint Designer. Se la problemo daŭras, Kontakti vian Retservilan administranton.

Mi kulpigis la klienton (Ne konscianta kiel ankoraŭ ke ĝi estis mia misfaro ĉe ĉi tiu punkto) Sed poste rimarkita ke vida studio intellisense estis avertanta min ke mi havis adventivan XSL. Mi ĝustigis ĝin kaj ĉion komencis laboranta.

Esti darned zorgema kiam laboranta kun ItemStyle.Xsl (Kaj iu ajn de la tutmondaj XSLaj dosieroj) — Rompanta ilin influas multajn artefaktojn en la eja kolekto.

<Fino/>

Montri Kontentan Demandan Araneaĵon Partaj Rezultoj en Krado / Tablo

superrigardo kaj Objektivo

Ekstere de la skatolo, MUSKO’ Kontenta Demanda Araneaĵo Parto (CQWP) Montras ĝiajn rezultojn en lista formato, Simila serĉi rezultojn. Ĝi estas ankaŭ ebla montri la rezultojn en krada formato (T.e. HTMLa tablo formato). Kradaj formatoj estas pli bonaj en kelkaj cirkonstancoj. Mi priskribas kiel atingi tiun efikon en ĉi tiu artikolo.

Komerca Scenaro

Mi laboris kun kliento sur entrepreno-larĝa MUSKO rollout. Ni desegnis ilian taksonomion tia ke projektoj estas unuaj klasaj civitanoj en la hierarkio kaj havas ilian propran supran nivelan ejon. Projektaj manaĝeroj daŭrigas singleton listo de projekto resuma informo, Kiel titolo, Buĝeto, Atendata kompletiĝa dato, Restanta buĝeton kaj aliaj resumaj tipaj kampoj. De "singleton" Mi signifas laŭmendan SharePoint listo guaranteed enhavi nur unu eron. Simplistically, Ĝi similas tion ĉi:

Bildo

La teknika alproksimiĝo estas multe da la sama kiel priskribita Ĉi tie (http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!447.entry). La CQWP uzas XSL transformas emanigi HTML por la retumilo fari.

Mi ĉiam antaŭvidas la rezulton antaŭ plonĝanta en la XSL ĉar XSL estas inkubo. Ĉi tie-a mia dezirita rezulton:

Bildo

HTML tiel produktas ke rezulto:

<Html>
 <Korpo>
 <Centro>
 <Tablo Landlimo=1>

<!-- Etikedoj -->
 <Tr Bgcolor=Blua>
 <Td><Fonto Koloro=Blanka><B>Projekta Nomo</B></Fonto></Td>
 <Td Vicigi=Ĝusta><Fonto Koloro=Blanka><B>Kompleta Dato</B></Fonto></Td>
 <Td Vicigi=Ĝusta><Fonto Koloro=Blanka><B>Buĝeto</B></Fonto></Td>
 <Td Vicigi=Ĝusta><Fonto Koloro=Blanka><B>Reala Elspezo</B></Fonto></Td>
 <Td><Fonto Koloro=Blanka><B>Entuta Statuso</B></Fonto></Td>
 </Tr>

<Tr>
 <Td>Re-drato komputila ĉambro.</Td>
 <Td Vicigi=Ĝusta>02/01/08</Td>
 <Td Vicigi=Ĝusta>22,500.00</Td>
 <Td Vicigi=Ĝusta>19,000.00</Td>
 <Td>En Progreso</Td>
 </Tr>

<Tr>
 <Td>Kondiĉaj serviloj por SQLa Altgradigo</Td>
 <Td Vicigi=Ĝusta>04/01/08</Td>
 <Td Vicigi=Ĝusta>7,500.00</Td>
 <Td Vicigi=Ĝusta>0.00</Td>
 <Td>Planita</Td>
 </Tr>

</Tablo>
 </Centro>
 </Korpo>
</Html>

Alproksimiĝo

Sekvi ĉi tiujn paŝojn krei la kradon:

  1. Identigi la erojn de la krado (Remas/kolumnojn).
  2. Difini kaj krei necesajn ejajn kolumnojn.
  3. Krei sub ejoj por la projektoj kaj singleton listoj.
  4. Aldoni la CQWP al retpaĝo kaj formi ĝin serĉi viajn listojn.
  5. Modifi la XML de la CQWP kolekti supre la suplementajn kolumnojn.
  6. Modifi la XSL produkti tablon.

Mi estas iranta koncentri sur nombro ses. Nombras unu tra kvar estas rekte-antaŭa kaj io ke ajna CQWPa uzanto jam faris. Nombri kvin estis bone-dokumentita de aliaj inkluzivanta ĉi tiun ĝisfundan ekranon-pafita ŝarĝitan artikolon de MSDN Ĉi tie (http://msdn2.microsoft.com/en-us/library/bb897399.aspx) Kaj blogo de Heather Solomon Ĉi tie (http://www.heathersolomon.com/blog/articles/CustomItemStyle.aspx).

nuksoj Kaj Boltoj

Komenci kaj efektivigi paŝojn unu tra kvin kiel por la MSDNa dokumentaro kaj Heather Solomon-a artikolo.

Ĉe ĉi tiu punkto, Vi aldonis vian CQWP al la paĝo kaj vi havas via <CommonViewFields> Formita kiel necesa.

Sekvanta la kutimajn paŝojn, Mi akiras ĉi tiujn mezajn rezultojn:

1. Krei kontentan tipon, templatized laŭmenda listo por tiu kontenta tipo kaj du ejoj. Ĉi tie estas la kontenta tipo:

Bildo

Ĉi tie estas la eja strukturo:

Bildo

2. Aldoni la CQWP post kreanta mian projekton subsites kaj singleton projekto resumaj listoj:

Bildo

3. Aldoni ĉiuj la suplementa informo mi deziras tra la <CommonViewFields>:

        <Nemoveblaĵo Nomo="CommonViewFields" Tipo="Ŝnuro">Projekti_x0020_Nomo;Projekti_x0020_Elspezoj;Projekti_x0020_Statuso;Projekti_x0020_Komenco_x0020_Dato;Projekti_x0020_Fino_x0020_Dato;Projekti_x0020_Buĝeto</Nemoveblaĵo>

Noti ke mi devis teni ĉiuj la nemoveblaĵaj kampoj sur unu linio aŭ ĝi ne laborus (CQWP dirus min ke la demando revenis neniujn erojn).

4. Ĉe ĉi tiu punkto, Ni estas pretaj movi pretere la MSDNan artikolon kaj flip sur super al artikolo de Heather Solomon. Sekvi ŝiajn paŝojn komencanta proksime al paŝo #5 Krei personigita / Unghosted versio de ItemStyle.Xsl. Mi sekvas la konsilon de Heather, Supre tra paŝo 11 Kaj akiri ĉi tiujn mezajn rezultojn:

4.1: Nomi mian XSLan ŝablonon kiel sekvas:

<Xsl:Ŝablona nomo="Krado" Matĉa="Disputo[@Stila='Krado']" Maniero="itemstyle">

Mi ankaŭ iomete modifas ŝin sugestita <Xsl:Pro tio ke-ĉiu …> De aldonanta <Br/> Etikedi provizi pli puran listeron:

    <Xsl:Pro tio ke-ĉiu Elektita="@*">
      P:<Xsl:Valoro-de Elektita="Nomo()" /><Br/>
    </Xsl:Pro tio ke-ĉiu>

4.2: Mi modifas la araneaĵan parton, Iri al apero kaj elekti mian "Kradon" Stilo:

Bildo

Apliki la ŝanĝon kaj ĉi tie estas la rezulto:

Bildo

Ni povas vidi de la supra ke la kampoj ni deziras (Projekta nomo, Elspezo, Statuso, Ktp) Estas havebla por ni uzi kiam nin emanigas la HTML. Ne nur tio, Sed ni vidas la nomojn de kiu ni devas referenci tiujn kolumnojn en la XSL. Ekzemple, Ni referencas Projektan Statuson kiel "Projekto_x005F_x0020_Nomo".

Ĉe ĉi tiu punkto, Ni foriras de la blogo de Heather kaj de la ŝultroj de ĉi tiuj gigantoj, Mi aldonas mian propran malgrandan pecon.

ContentQueryMain.Xsl

NOTO: Kiam faranta ŝanĝojn al ambaŭ ContentQueryMain.Xsl tiel kiel ItemStyle.Xsl, Vi devas kontroli tiujn registras reen en antaŭ ol vi vidas la efikon de viaj ŝanĝoj.

Por krado-faranta celojn, MUSKAJ uzoj du malsamaj XSLaj dosieroj produkti la rezultojn ni vidas de CQWP. Produkti la antaŭan pecon de produktado, Ni modifis ItemStyle.Xsl. MUSKO efektive uzas alian XSLan dosieron, ContentQueryMain.Xsl al kune kun ItemStyle.Xsl produkti ĝian HTML. Kiel ĝia nomo implicas, ContentQueryMain.Xsl estas la "ĉefa" XSL kiu kontrolas la entutan fluon de traduko. Ĝi iterates tra ĉiuj la trovita erojn kaj pasas ilin unu de unu al ŝablonoj en ItemStyle.Xsl. Ni modifos ItemStyle.Xsl produkti la turniron <Tablo> Etikedi antaŭ ol emaniganta la unuan disputon de datumo kaj la fermo <Tablo> Etikedi post kiam emaniganta la lastan disputon. Plenumi tion ĉi, ContentQueryMain.Xsl estas modifita pasi du parametrojn al nia "krado" Ŝablono en ItemStyle.Xsl, "Lasta disputo" Kaj "nuna disputo". ItemStyle.Xsl uzas ĉi tiujn kondiĉe emanigi la necesajn etikedojn.

Uzanta teknikon de Heather Solomon, Ni troviĝas ContentQueryMain.Xsl. Ĝi estas troviĝita en la sama loko kiel ItemStyle.Xsl. Tio ĉi kribras pafita devus helpi:

Bildo

Ni devas fari la sekvantajn ŝanĝojn:

  • Modifi xsl ŝablono, "CallItemTemplate" KE efektive alvokas nian Kradan ŝablonon en ItemStyle.Xsl. Ni pasos du parametrojn al la Krada ŝablono por ke ĝi havos la datumon ĝi devas kondiĉe produkti komencan kaj fermo <Tablo> Etikedoj.
  • Modifi alian mordis de ContentQueryMain.Xsl kiu vokas la "CallItemTemplate" Pasi ĝin "LastRow" Parametro por ke LastRow povas esti pasita sur al nia Krada ŝablono.

Troviĝi la ŝablonon nomis "OuterTemplate.CallItemTemplate" Identigita de la ŝnuro:

  <Xsl:Ŝablono Nomo="OuterTemplate.CallItemTemplate">

Anstataŭigi la tutan ŝablonon kiel sekvas:

  <Xsl:Ŝablono Nomo="OuterTemplate.CallItemTemplate">
    <Xsl:Param Nomo="CurPosition" />

    <!--
      Aldoni la "LastRow" Parametro.
      Ni nur uzas ĝin kiam la era stila transludo je estas "Krado".
    -->
    <Xsl:Param Nomo="LastRow" />

    <Xsl:Elekti>
      <Xsl:Kiam Testo="@Stilo='NewsRollUpItem'">
        <Xsl:Apliki-ŝablonoj Elektita="." Maniero="Itemstyle">
          <Xsl:Kun-param Nomo="EditMode" Elektita="$Cbq_iseditmode" />
        </Xsl:Apliki-ŝablonoj>
      </Xsl:Kiam>
      <Xsl:Kiam Testo="@Stilo='NewsBigItem'">
        <Xsl:Apliki-ŝablonoj Elektita="." Maniero="Itemstyle">
          <Xsl:Kun-param Nomo="CurPos" Elektita="$CurPosition" />
        </Xsl:Apliki-ŝablonoj>
      </Xsl:Kiam>
      <Xsl:Kiam Testo="@Stilo='NewsCategoryItem'">
        <Xsl:Apliki-ŝablonoj Elektita="." Maniero="Itemstyle">
          <Xsl:Kun-param Nomo="CurPos" Elektita="$CurPosition" />
        </Xsl:Apliki-ŝablonoj>
      </Xsl:Kiam>

      <!--
              Pasi nunan pozicion kaj lastrow al la Krado itemstyle.Xsl ŝablono.
              ItemStyle.Xsl uzos tion emanigi la turniron kaj fermon <Tablo> Etikedoj.
      -->
      <Xsl:Kiam Testo="@Stila='Krado'">
        <Xsl:Apliki-ŝablonoj Elektita="." Maniero="Itemstyle">
          <Xsl:Kun-param Nomo="CurPos" Elektita="$CurPosition" />
          <Xsl:Kun-param Nomo="Lasta" Elektita="$LastRow" />
        </Xsl:Apliki-ŝablonoj>
      </Xsl:Kiam>

      <Xsl:Alie>
        <Xsl:Apliki-ŝablonoj Elektita="." Maniero="Itemstyle">
        </Xsl:Apliki-ŝablonoj>
      </Xsl:Alie>
    </Xsl:Elekti>
  </Xsl:Ŝablono>

La rimarkoj priskribas la celon de la ŝanĝoj.

Nature, La "OuterTemplate.CallItemTemplate" Estas ĝi mem vokita de alia ŝablono. Troviĝi tiun ŝablonon de serĉanta ĉi tiun tekstan ŝnuron:

<Xsl:Ŝablono Nomo="OuterTemplate.Korpo">

Scroll tra la instruoj en OuterTemplate.Korpo kaj inserti la LastRow parametro kiel sekvas (Montrita kiel rimarko en italics):

<Xsl:Voko-ŝablono Nomo="OuterTemplate.CallItemTemplate">
  <Xsl:Kun-param Nomo="CurPosition" Elektita="$CurPosition" />
  <!-- Inserti la LastRow parametro. -->
  <Xsl:Kun-param Nomo="LastRow" Elektita="$LastRow"/>
</Xsl:Voko-ŝablono>

Post kiam ĉiuj de tio ĉi, Ni fine havas aferojn instalis konvene por ke nia ItemStyle.Xsl povas emanigi <Tablo> Etikedoj ĉe la ĝusta loko.

ItemStyle.Xsl

NOTO: Denove, Kontrolo en ItemStyle.Xsl post kiam faranta ajnajn ŝanĝojn por ke vi vidas la efikon de tiuj ŝanĝoj.

Ni havas du taskojn ĉi tie:

  • Anstataŭigi la tutan Kradan ŝablonon. Vi povas kopii/almeti de malsupre.
  • Aldoni kelkaj mumbo elefanĉjo ekster la ŝablona difino kiu ebligas "formatcurrency" Ŝablono labori. (Vi povas diri ke mi havas maldikan anson sur XSL).

Unue, Proksime al la supro de ItemStyle.Xsl, Aldoni ĉi tiun linion:

  <!-- Kelkaj mumbo elefanĉjo kiu ebligas nin montri Usonon. valuto. -->
  <Xsl:Decimala-formato Nomo="Personaroj" Cifero="D" />

  <Xsl:Ŝablono Nomo="Defaŭlta" Matĉo="*" Maniero="Itemstyle">

Noti ke mi aldonis ĝin rekte antaŭ ol la <Xsl:Ŝablona nomo="Nerepago" …> Difino.

Poste, Reveni al nia Krada ŝablono. Anstataŭigi la tutan Kradan ŝablonon kun la kodo sub. Ĝi estas plene rimarkita, Sed ne hezitas retpoŝtigi min aŭ forpermesaj rimarkoj sur mia blogo se vi havas demandojn.

  <Xsl:Ŝablono Nomo="Krado" Matĉo="Disputo[@Stila='Krado']" Maniero="Itemstyle">

    <!--
      ContentMain.Xsl pasas CurPos kaj Lasta.
      Ni uzas ĉi tiujn kondiĉe emanigi la turniron kaj fermon <Tablo> Etikedoj.
    -->
    <Xsl:Param Nomo="CurPos" />
    <Xsl:Param Nomo="Lasta" />

    <!-- La sekvanta variables estas nemodifita de la norma ItemStyle.Xsl -->
    <Xsl:Varia Nomo="SafeImageUrl">
      <Xsl:Voko-ŝablono Nomo="OuterTemplate.GetSafeStaticUrl">
        <Xsl:Kun-param Nomo="UrlColumnName" Elektita="'ImageUrl'"/>
      </Xsl:Voko-ŝablono>
    </Xsl:Varia>
    <Xsl:Varia Nomo="SafeLinkUrl">
      <Xsl:Voko-ŝablono Nomo="OuterTemplate.GetSafeLink">
        <Xsl:Kun-param Nomo="UrlColumnName" Elektita="'LinkUrl'"/>
      </Xsl:Voko-ŝablono>
    </Xsl:Varia>
    <Xsl:Varia Nomo="DisplayTitle">
      <Xsl:Voko-ŝablono Nomo="OuterTemplate.GetTitle">
        <Xsl:Kun-param Nomo="Titolo" Elektita="@Titolo"/>
        <Xsl:Kun-param Nomo="UrlColumnName" Elektita="'LinkUrl'"/>
      </Xsl:Voko-ŝablono>
    </Xsl:Varia>
    <Xsl:Varia Nomo="LinkTarget">
      <Xsl:Se Testo="@OpenInNewWindow = 'Vera'" >_Malplena</Xsl:Se>
    </Xsl:Varia>

    <!--
      Ĉi tie ni difinas  varian, "TableStart".  Tio ĉi enhavas la HTML
      ke ni uzas difini la malfermon de la tablo tiel kiel la kolumnaj
      etikedoj.  Noti ke se CurPos = 1, Ĝi inkluzivas la HTML en CDATAa etikedo.
      Alie, Ĝi estos senhoma.

      La valoro de tableStart estas emited ĉiu tempo ItemStyle estas vokita tra
      ContentQueryMain.Xsl.
    -->
    <Xsl:Varia Nomo="TableStart">
      <Xsl:Se Testo="$CurPos = 1">
        <![CDATA[
        <Tabla landlimo=1>
          <Tr bgcolor="bluo">
            <Td><Fonta koloro="blankulo"><B>Projekta Nomo</B></Fonto></Td>
            <Td vicigas="ĝustan"><Fonta koloro="blankulo"><B>Kompleta Dato</B></Fonto></Td>
            <Td vicigas="ĝustan"><Fonta koloro="blankulo"><B>Buĝeto</B></Fonto></Td>
            <Td vicigas="ĝustan"><Fonta koloro="blankulo"><B>Reala Elspezo</B></Fonto></Td>
            <Td><Fonta koloro="blankulo"><B>Entuta Statuso</B></Fonto></Td>
          </Tr>
        ]]>
      </Xsl:Se>
    </Xsl:Varia>

    <!--
      Alia varia, TableEnd simple difinas la ferman tablan etikedon.

      Kiel kun tableStart, Ĝi estas ĉiam emited.  Tio ĉi estas kial ĝia valoro estas
      asignita kondiĉe bazita al ĉu ni estis pasita la lastan
      disputon de ContentQueryMain.Xsl.
    -->
    <Xsl:Varia Nomo="TableEnd">
      <Xsl:Se Testo="$CurPos = $Lasta">
        <![CDATA[ </Tablo> ]]>
      </Xsl:Se>
    </Xsl:Varia>

    <!--
      Ĉiam emanigi la enhavojn de tableStart.  Se tio ĉi ne estas la unua
      disputo pasita al ni de ContentQueryMain.Xsl, Tiam ni scias ĝian valoron
      estos malplena.

      Malfunkciigi eligita evitanta ĉar kiam tableStart ĝi ne malplena, Ĝi
      inkluzivas realan HTML ke ni deziras esti farita de la retumilo.  Se
      ni ne diras la XSL parser malfunkciigi eligita evitanta, Ĝi produktos
      aĵon ŝatas "&Lt;Tablo&Gt;" Anstataŭ "<Tablo>".
    -->
    <Xsl:Valoro-de Elektita="$TableStart" Malfunkciigi-produktado-evitanta="Jes"/>


    <Tr>
      <!--
      P:Projekti_x005F_x0020_Nomo
      P:Projekti_x005F_x0020_Fino_x005F_x0020_Dato
      P:Projekti_x005F_x0020_Buĝeto
      P:Projekti_x005F_x0020_Elspezoj
      P:Projekti_x005F_x0020_Statuso
      -->
      <Td>
        <Xsl:Valoro-de Elektita="@Projekti_x005F_x0020_Nomo"/>
      </Td>

      <Td Vicigi="Ĝusta">
        <Xsl:Valoro-de Elektita="@Projekti_x005F_x0020_Fino_x005F_x0020_Dato"/>
      </Td>

      <Td Vicigi="Ĝusta">
        <Xsl:Voko-ŝablono Nomo="Formatcurrency">
          <Xsl:Kun-param Nomo="Valoro" 
Elektita="@Projekti_x005F_x0020_Buĝeto"></Xsl:Kun-param> </Xsl:Voko-ŝablono> </Td> <Td Vicigi="Ĝusta"> <Xsl:Voko-ŝablono Nomo="Formatcurrency"> <Xsl:Kun-param Nomo="Valoro" Elektita="@Projekti_x005F_x0020_Elspezoj">
</Xsl:Kun-param> </Xsl:Voko-ŝablono> </Td> <Td> <Xsl:Valoro-de Elektita="@Projekti_x005F_x0020_Statuso"/> </Td> <!-- Ĉiuj de la sekvantaro estas elrimarkita klarigi aferojn. Tamen, Alporti ĝin reen kaj ŝtopi ĝin en <Td> Vidi ĝian efikon. --> <!-- <Div identigaĵo="linkitem" Klasa="ero"> <Xsl:Se testa="ŝnuro-longeco($SafeImageUrl) != 0"> <Div klasa="bildo-areo-lasita"> <href="{$SafeLinkUrl}" Celo="{$LinkTarget}"> <Img klasa="bildo-fiksa-larĝo" Src="{$SafeImageUrl}"
Alt="{@ImageUrlAltText}"/> </al> </Div> </Xsl:Se> <Div klasa="ligo-ero"> <Xsl:Voko-ŝablono
Nomi="OuterTemplate.CallPresenceStatusIconTemplate"/> <href="{$SafeLinkUrl}"
Celo="{$LinkTarget}" Titolo="{@LinkToolTip}"> <Xsl:Valoro-de elektita="$DisXslyTitle"/> </al> <Div klasa="priskribo"> <Xsl:Valoro-de elektita="@Priskribo" /> </Div> </Div> </Div>
--> </Tr> <!-- Emanigi la ferman tablan etikedon. Se ni ne estas sur la lasta disputo, Tio ĉi estos malplena. --> <Xsl:Valoro-de Elektita="$TableEnd" Malfunkciigi-produktado-evitanta="Jes"/> </Xsl:Ŝablono> <Xsl:Ŝablono Nomo="Formatcurrency"> <Xsl:Param Nomo="Valoro" Elektita="0" /> <Xsl:Valoro-de Elektita='Formato-nombro($Valoro, "$DDD,DDD,DDD.DD", "Personaroj")' /> </Xsl:Ŝablono>

Norma WSSa/MUSKO Datuma Eniro Ekranoj Ne Subtenas Kaskadan Falon-faligas (Aŭ alia intra-de komunikado)

ĜISDATIGO (04/2008): Ĉi tiu granda bloga eniro montras bonan javascript bazita alproksimiĝo al ĉi tiu problemo: http://webborg.blogspot.com/2008/04/add-functions-and-events-to-sharepoint.html

ĜISDATIGA II: (04/2008): Ĉi tiuj blogaj eniraj rigardoj promesanta ankaŭ: http://www.cleverworkarounds.com/2008/03/13/free-mosswss-2007-web-part-hide-controls-via-javascript/

Pluraj oble semajno, Se ne ĉiutage, Forumaj uzantoj priskribas postulon kiu normale estus renkontita tra kaskada falo-faligas. Ekzemple, Mi havas du falon-malsupren kontroloj:

  • Listo de Usono. statoj
  • Listo de Usono. Urboj.

Kiel prirespondaj UIaj provizantoj, Ni deziras ĝin funkcii tiel:

  • Paul elektas Usonon. Stato de la falo-malsupren.
  • Tio ĉi kaŭzas la urban falon-malsupren filtri nur tiujn urbojn kiu apartenas al la elektita staton.
  • Paul elektas urbon de tio ĉi filtris liston.

Estas ne ekstere-de-la-skatola subteno por ĉi tiu ĉefaĵo. Fakte, Estas neniu OOBa subteno por ajna speco de rekta intra-forma komunikado. Tio ĉi inkluzivas programmatically kaŝo/ebliganta/malfunkciiganta kampojn en respondo kapti ŝanĝojn aliloke sur la formo.

La vera objektivo de ĉi tiu artikolo al priskribi eblajn solvojn kaj ĉi tiujn estas la elektoj kiel mi scias ilin:

  1. Evoluigi laŭmendan kolumnan tipon. Kiel laŭmenda-kolumno-ellaboranto, Vi havas plenan kontrolon super la "mondo" De tiu laŭmenda kolumno. Vi povas efektivigi kaskadan falon-malsupren ke vojo.
  2. Konsideri uzanta workflow. En kelkaj kazoj, Vi deziras aŭtomate asigni valoron kapti bazita sur la valoro de alia kampo. En ĉi tiu kazo, Vi normale provus uzi intencan kolumnon, Sed kelkaj tempoj, Ĝi nur ne akiros la laborpostenon farita. SharePoint Designer workflow estas relative administri-amika alternativo al falanta malsupren en kodo kaj vida studio. Se vi iras ĉi tiun vojon, Esti konscia de la afero traktita de Ĉi tiu artikolo (http://paulgalvin.spaces.live.com/blog/cns!CC1EDB3DAA9B8AA!405.entry).
  3. Eventaj prizorgantoj: Kiel workflow, Tio ĉi estas poste-la-fakta solvo. Via eventa prizorganto estas .PURA asembleo (C#, VB.RETO) Al kiu SharePoint transluda kontrolo. La objekto vi evoluigas havas aliron al la datumo de la listo (Kaj la tuta objekta modelo) Kaj povas fari iun ajn devis kalkulon.
  4. Uzi SharePoint Designer krei laŭmendajn enirajn formojn. Mi ne havas rektan sperton kun ĉi tiu alproksimiĝo, sed mi aŭdas, ke ili faras bonajn aferojn kun NewForm.aspx hodiaŭ 🙂
  5. Ruli vian propran ASPIDON.PURA datuma eniro funkcio (Kiel starejo-sola retpaĝo aŭ kiel araneaĵa parto) Kaj uzo ke male.

Se iu ajn scias alia kaj/aŭ pli bonaj elektoj, Bonvolu poŝti rimarkon kaj min ĝisdatigos la korpon de ĉi tiu poŝto.

<Fino/>

Technorati Etikedoj:

Krei Barajn Grafeojn en SharePoint

Superrigardo:

(ĜISDATIGO 12/04/07: Aldonita alian interesan rimedon ĉe la fino liganta al alia blogo kiu traktas tion ĉi tra tre interesa araneaĵa parto)

Ĉi tiu bloga eniro priskribas kiel krei baran grafeon en SharePoint. Tio ĉi laboras en ambaŭ WSS kaj MUSKAJ medioj kiel ĝi nur dependas al la datuma vida araneaĵa parto.

La entuta alproksimiĝo estas kiel sekvas:

  1. Krei liston aŭ dokumentan bibliotekon kiu enhavas la datumon vi deziras al grafeo.
  2. Loki la rilatan dokumentan bibliotekon / Laŭmenda listo al paĝo kaj transformi ĝin al datuma vida araneaĵa parto (DVWP).
  3. Modifi la XSL de la DVWP produkti HTML ke rezultoj kiel grafeo.

Komerca Scenaro / Aranĝo:

Mi kreis laŭmendan liston kun la norma Titola kolumno kaj unu suplementa kolumno, "Statuso". Tio ĉi modeligas (Tre simplistically) "Rajtigo Por Elspezo" Scenaro kie la titolo reprezentas la projekton kaj la Statuson valoro de la listo de:

  • Proponita
  • En Procezo
  • Ekhaltita

La objektivo estas produkti interaktivan horizontalan baran grafeon kiu montras ĉi tiujn statusajn kodojn.

Mi loĝis la liston kaj ĝin similas tion ĉi:

Bildo

Krei Datuman Vidon Araneaĵa Parto:

Krei la DVWP de aldonanta la laŭmendan liston al paĝo (Eja paĝo en mia kazo) Kaj sekvi la instruojn Ĉi tie (http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!395.entry).

Krom simple kreanta la DVWP, Ni ankaŭ devas fiksi la paging nemoveblaĵo montri ĉiuj haveblaj disputoj. Por mi, Tio ĉi rigardas ion tiel:

Bildo

Ĉe ĉi tiu punkto, Mi ĉiam proksima SPD kaj la retumilo. Mi tiam re-malfermi la paĝon uzanta la retumilon. Tio ĉi evitas akcidente mucking supre la araneaĵa parta plano sur la paĝo.

Modifi la XSLT:

Ĝi estas nun tempo modifi la XSLT.

Mi ĉiam uzas vidan studion por tio ĉi. (Vidi Ĉi tie Por grava noto pri intellisense kiu helpos vin tre).

Mi kreas senhoman projekton aldonas kvar novajn dosierojn (Anstataŭiganta la vortan "Originalon" Kaj "Nova" Kiel konvena):

  • Originala.Xslt
  • Nova.Xslt
  • Originala Params.Xml
  • Nova Params.Xml

En mia kazo, Ĝi similas tion ĉi:

Bildo

Modifi la araneaĵan parton kaj kopii la params kaj XSL al la "Originalo" Versio en Vida Studio.

La objektivo ĉi tie estas kaŭzi la XSL transformi la rezultojn ni revenas de la DVWPa demando en HTML kiu faras kiel grafeo.

Al ĉi tiu fino, Ĝi helpas unue konsideri kion la HTML devus simili antaŭ ol ni akiras konfuzita de la frenezeco kiu estas konata kiel "XSL". (Esti klara, La sekvantaro estas simple ekzemplo; Ne tajpas ĝin aŭ kopion/almetas en vida studio. Mi provizas plenan frapon komencanta punkton por tiu pli lasta en la skribi-supre). La sekvanta ekzempla grafeo estas farita kiel por la HTML tuj sekvanta:

Sample Bar Graph

Respondanta HTML:

<Html>
<Korpo>
<Centro>
<Tabla larĝo=80%>
<Tr><Td><Centro>Horizontala Bara Grafeo</Td></Tr>
<Tr>
<Td vicigas="centron">
<Tabla landlimo="1" Larĝo=80%>
<Tr>
<Td larĝo=10%>Turniro</Td>
<Td><Tablo cellpadding="0" Cellspacing="0" Randiri=0 larĝon=50%><Tr bgcolor=ruĝeco><Td>&Nbsp;</Td></Tr></Tablo></Td>
</Tr>
<Tr>
<Td larĝo=10%>Fermita</Td>
<Td><Tablo cellpadding="0" Cellspacing="0" Randiri=0 larĝon=25%><Tr bgcolor=ruĝeco><Td>&Nbsp;</Td></Tr></Tablo></Td>
</Tr>
<Tr>
<Td larĝo=10%>Ekhaltita</Td>
<Td><Tablo cellpadding="0" Cellspacing="0" Randiri=0 larĝon=25%><Tr bgcolor=ruĝeco><Td>&Nbsp;</Td></Tr></Tablo></Td>
</Tr>
</Tablo>
</Td>
</Tr>
</Tablo>
</Korpo>
</Html>

Mi uzis mortintan simplan alproksimiĝon al kreanta miajn barojn de fiksanta la fonan koloron de disputo al "ruĝeco".

La preni-for ĉi tie estas tio ĉi: En la fino, Ĉiuj ni estas farantaj estas kreanta HTML kun disputoj kaj kolumnoj.

Ŝablona XSLT:

Mi kopiis la XSLT kiu produktas horizontalan baran grafeon. Ĝi estas juste bone rimarkita do mi ne aldonos tre ĉi tie esceptas por ĉi tiuj notoj:

  • Mi komencis kun la defaŭlta XSL ke SharePoint Designer donis min kiam mi unue kreis la DVWP.
  • Mi estis kapabla tranĉi tion ĉi malsupren de SPD-a 657 Linioj al 166 Linioj.
  • Mi ne fuŝis proksimume kun la parametra XMLa dosiero (Kiu estas aparta de la XSL kaj vi scios kion mi signifas kiam vin iras modifi la DVWP ĝi mem; Estas du dosieroj vi povas modifi). Tamen, Por simpligi ĝin, Mi ja forigis preskaŭ ili ĉiuj de la XSL. Tio ĉi signifas ke se vi deziras fari uzon de tiuj parametroj, Vi nura bezono aldoni iliajn variajn difinojn reen al la XSL. Kiu estos facile pro tio ke vi havos la originalan XSL variaj difinoj en via vida studia projekto.
  • Vi ought esti kapabla kopii kaj almeti tion ĉi rekte en via vida studia projekto. Tiam, Forigi miajn vokojn kaj inserti viajn proprajn vokojn al "ShowBar".
  • La borilo malsupren laboroj de kreanta <href> Tiel: http://server/List?FilterField1=fieldname&FilterValue1=actualFilterValue. Ĉi tiu tekniko povas esti de valoro en aliaj kuntekstoj. Ĉe unua, Mi pensis min devus konformiĝi al pli kompleksa formato: http://server/List/AllItems.aspx?View={guid}&FilterField1=blah&FilterValue1=blah, Sed en mia medio kiu ne estas necesa. La URL de la Listo estas pasita al ni de SharePoint do tio ĉi estas tre facile indukti.

Ĉi tie ĝi estas:

<Xsl:Stylesheet Versio="1.0" Ekskludi-rezulto-prefiksoj="Rs z o s ddwrt dt msxsl" 
Xmlns:Msxsl="Urno:Schemas-microsoft-com:Xslt" Xmlns:Xsl="Http://Www.w3.org/1999/xsl/transform"
Xmlns:SharePoint="Microsoft.SharePoint.WebControls" Xmlns:__Designer="Http://Schemas.Microsoft.Com/WebParts/v2/DataView/designer"
Xmlns:Aspido="Http://Schemas.Microsoft.Com/ASPNET/20" Xmlns:Ddwrt="Http://Schemas.Microsoft.Com/WebParts/v2/DataView/runtime"
Xmlns:O="Urno:Schemas-microsoft-com:Oficejo" Xmlns:S="Uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882"
Xmlns:Dt="Uuid:C2F41010-65B3-11d1-A29F-00AA00C14882" Xmlns:Rs="Urno:Schemas-microsoft-com:Rowset" Xmlns:Z="#RowsetSchema"
Xmlns:Ddwrt2="Urno:Frontpage:Interna"
> <Xsl:Eligita Metodo="Html" Indent="Ne" /> <Xsl:Decimala-formato NaN="" /> <Xsl:Param Nomo="ListUrlDir"></Xsl:Param> <!-- Mi devas tion ĉi subteni borilon-malsupren. --> <Xsl:Ŝablono Matĉo="/" Xmlns:SharePoint="Microsoft.SharePoint.WebControls"
Xmlns:__Designer=http://schemas.microsoft.com/WebParts/v2/DataView/designer Xmlns:Aspido="Http://Schemas.Microsoft.Com/ASPNET/20"
> <Xsl:Varia Nomo="Dvt_StyleName">Tablo</Xsl:Varia> <Xsl:Varia Nomo="Disputoj" Elektita="/DsQueryResponse/Disputa/Disputo" /> <Xsl:Varia Nomo="Dvt_RowCount" Elektita="Kalkulo($Disputoj)" /> <Xsl:Varia Nomo="IsEmpty" Elektita="$Dvt_RowCount = 0" /> <Xsl:Varia Nomo="Dvt_IsEmpty" Elektita="$Dvt_RowCount = 0" /> <Xsl:Elekti> <Xsl:Kiam Testo="$Dvt_IsEmpty"> Estas neniu datumo al grafeo!<Br/> </Xsl:Kiam> <Xsl:Alie> <!-- La interesa aĵo komencas ĉi tie. Ni devas difini paron de variables por ĉiu disputo en la grafeo: Totala nombro de eroj kaj procento de totalo. --> <Xsl:Varia Nomo="TotalProposed" Elektita="Kalkulo(/DsQueryResponse/Disputa/Disputo[Normaligi-spaco(@Statuso) = 'Farota'])" /> <Xsl:Varia Nomo="PercentProposed" Elektita="$TotalProposed div $dvt_RowCount" /> <Xsl:Varia Nomo="TotalInProcess" Elektita="Kalkulo(/DsQueryResponse/Disputa/Disputo[Normaligi-spaco(@Statuso) = 'En Procezo'])" /> <Xsl:Varia Nomo="PercentInProcess" Elektita="$TotalInProcess div $dvt_RowCount" /> <Xsl:Varia Nomo="TotalStalled" Elektita="Kalkulo(/DsQueryResponse/Disputa/Disputo[Normaligi-spaco(@Statuso) = 'Ekhaltis'])" /> <Xsl:Varia Nomo="PercentStalled" Elektita="$TotalStalled div $dvt_RowCount" /> <!-- Ni difinas nian HTMLan tablon #?i tie. Mi estas depruntanta de kelkaj norma SharePoint stiloj #?i tie faras ?in konsekvenca. Mi pensas ?in honoros #?an?o al la tutmonda css dosiero tiel kiel temo superregas. --> <Tablo Larĝo="100%" Cellspacing="0" Cellpadding="2" Stilo="Landlimo-rajto: 1 Solida #C0C0C0; Landlimo-fundo: 1 Solida #C0C0C0; Landlimo-maldekstra-stilo: Solida; Landlimo-maldekstra-#lar?o: 1; Landlimo-supro-stilo: Solida; Landlimo-supro-#lar?o: 1;"> <Tr> <Td Vicigi="Centro"> <Tablo Landlimo="1" Larĝo="100%"> <!-- Por #?iu statuso ke ni deziras al grafeo, Ni vokas la "ShowBar" Ŝablono. Ni pasas ?in: 1. Etikedo por la disputo. #Tio ?i estas transformita en hiperligo. 2. La procento (Varia de supra). 3. La reala kampa nomo de la kodo de la fundamenta listo. Tio ĉi ne devas egali la montriĝan etikedon. 4. Kampa valoro egalita por #3. 5. Totalaj eroj de ĉi tiu statusa kodo (Ne la granda totalo de ĉiuj statusaj kodoj). Ĝi emanigas <Tr></Tr> Kaj la horizontala bara grafea linio. Ni vokas ĉi tiun ŝablonon por ĉiu statusa kodo ni deziras vidi. --> <Xsl:Voko-ŝablono Nomo="ShowBar"> <Xsl:Kun-param Nomo="BarDisplayLabel" Elektita="'Farota'"/> <Xsl:Kun-param Nomo="BarPercent" Elektita="$PercentProposed"/> <Xsl:Kun-param Nomo="QueryFilterFieldName" Elektita="'Statuso'"/> <Xsl:Kun-param Nomo="QueryFilterFieldValue" Elektita="'Farota'"/> <Xsl:Kun-param Nomo="TotalItems" Elektita="$TotalProposed"></Xsl:Kun-param> </Xsl:Voko-ŝablono> <Xsl:Voko-ŝablono Nomo="ShowBar"> <Xsl:Kun-param Nomo="BarDisplayLabel" Elektita="'Ekhaltis'"/> <Xsl:Kun-param Nomo="BarPercent" Elektita="$PercentStalled"/> <Xsl:Kun-param Nomo="QueryFilterFieldName" Elektita="'Statuso'"/> <Xsl:Kun-param Nomo="QueryFilterFieldValue" Elektita="'Ekhaltis'"/> <Xsl:Kun-param Nomo="TotalItems" Elektita="$TotalStalled"></Xsl:Kun-param> </Xsl:Voko-ŝablono> <Xsl:Voko-ŝablono Nomo="ShowBar"> <Xsl:Kun-param Nomo="BarDisplayLabel" Elektita="'En Procezo'"/> <Xsl:Kun-param Nomo="BarPercent" Elektita="$PercentInProcess"/> <Xsl:Kun-param Nomo="QueryFilterFieldName" Elektita="'Statuso'"/> <Xsl:Kun-param Nomo="QueryFilterFieldValue" Elektita="'En Procezo'"/> <Xsl:Kun-param Nomo="TotalItems" Elektita="$TotalInProcess"></Xsl:Kun-param> </Xsl:Voko-ŝablono> </Tablo> </Td> </Tr> </Tablo> </Xsl:Alie> </Xsl:Elekti> </Xsl:Ŝablono> <!-- Ĉi tiu ŝablono faras la laboron montri individuajn liniojn en la bara grafeo. Vi verŝajne faros plejparto de via tweaking ĉi tie. --> <Xsl:Ŝablono Nomo="ShowBar"> <Xsl:Param Nomo="BarDisplayLabel" /> <!-- Etikedi montri --> <Xsl:Param Nomo="BarPercent"/> <!-- Procento de totalo. --> <Xsl:Param Nomo="QueryFilterFieldName"/> <!-- Uzita salti al la demando & Filtrilo --> <Xsl:Param Nomo="QueryFilterFieldValue"/> <!-- Uzita salti al la demando & Filtrilo --> <Xsl:Param Nomo="TotalItems" /> <!-- Totala kalkulo de ĉi tiu barlabel --> <Tr> <!-- La baro etikedas ĝin mem. --> <Td Klaso="Ms-formbody" Larĝo="30%"> <!-- Tio ĉi poste fiksita de komunikaĵoj konstruas demandan ŝnuron kiu permesas nin bori malsupren al filtrita vidon de la fundamenta datumo. Ni faras uzon de kelkaj aferoj ĉi tie: 1. Ni povas pasi FilterField1 kaj FilterValue1 al listo filtri sur kolumno. 2. SharePoint estas pasanta kernan parametron al ni, ListUrlDir kiu indikas al la fundamenta listo kontraŭ kiu ĉi tiu DVWP estas "kuranta". Ne estas XSLa amuzo? --> <Xsl:Teksto Malfunkciigi-produktado-evitanta="Jes"> <![CDATA[<href="]]></Xsl:Teksto> <Xsl:Valoro-de Elektita="$ListUrlDir"/> <Xsl:Teksto Malfunkciigi-produktado-evitanta="Jes"><![CDATA[?FilterField1=]]></Xsl:Teksto> <Xsl:Valoro-de Elektita="$QueryFilterFieldName"/> <Xsl:Teksto Malfunkciigi-produktado-evitanta="Jes"><![CDATA[&FilterValue1=]]></Xsl:Teksto> <Xsl:Valoro-de Elektita="$QueryFilterFieldValue"/> <Xsl:Teksto Malfunkciigi-produktado-evitanta="Jes"><![CDATA[">]]></Xsl:Teksto> <Xsl:Valoro-de Elektita="$BarDisplayLabel"/> <Xsl:Teksto Malfunkciigi-produktado-evitanta="Jes"><![CDATA[</al>]]></Xsl:Teksto> <!-- La sekvanta peco montras kelkajn nombrojn en la formato: "(Totala / % De totalo)" --> (<Xsl:Valoro-de Elektita="$TotalItems"/> / <!-- Tio ĉi kreas belan procentan etikedon por ni. Dankonas, Microsoft! --> <Xsl:Voko-ŝablono Nomo="Percentformat"> <Xsl:Kun-param Nomo="Procento" Elektita="$BarPercent"/> </Xsl:Voko-ŝablono>) </Td> <!-- Fine, Emanigi <Td> Etikedo por la baro ĝi mem.--> <Td> <Tablo Cellpadding="0" Cellspacing="0" Landlimo="0" Larĝo="{Rondo($BarPercent100)+1}%"> <Tr Bgcolor="Ruĝa"> <Xsl:Teksto Malfunkciigi-produktado-evitanta="Jes"><![CDATA[&Nbsp;]]></Xsl:Teksto> </Tr> </Tablo> </Td> </Tr> </Xsl:Ŝablono> <!-- Tio ĉi estas prenita rekte de #kelka XSL mi trovis en F-ina ŝablono. --> <Xsl:Ŝablono Nomo="Percentformat"> <Xsl:Param Nomo="Procento"/> <Xsl:Elekti> <Xsl:Kiam Testo="Formato-nombro($Procento, '#,##0%;-#,##0%')= 'NaN'">0%</Xsl:Kiam> <Xsl:Alie> <Xsl:Valoro-de Elektita="Formato-nombro($Procento, '#,##0%;-#,##0%')" /> </Xsl:Alie> </Xsl:Elekti> </Xsl:Ŝablono> </Xsl:Stylesheet>

La Rezultoj:

La XSL de sur produktas ĉi tiun grafeon:

Bildo

Bori malsupren al la fundamenta datumo de klakanta sur la statusa kodo:

Bildo

Konkludanta Pensojn:

Povas Tion ĉi Esti Induktita?

Mi amas ĉi tiu graphing koncepto, Sed mi malamas la fakton ke mi devi eniri kaj tiel fari multe da manon-kodiĝo. Mi donis malgrandan penson al ĉu ĝi povas esti induktita kaj mi estas optimisma, Sed mi estas ankaŭ malgranda maltrankvila ke tie povas esti brika muro ie laŭ la vojo kiu ne proponos ajnan laboron-proksimume. Se iu ajn havas kelkajn bonajn ideojn sur tio ĉi, Bonvolu fari noton en la rimarkoj aŭ Retpoŝtigi min.

Vertikalaj Grafeoj:

Tio ĉi estas horizontala bara grafeo. Ĝi estas certe ebla krei vertikalan grafeon. Ni nur devas ŝanĝi la HTML. Mi komencus la saman vojon: Krei HTMLan reprezentadon de vertikala bara grafeo kaj tiam elkalkuli kiel akiri ke tra XSL. Se iu ajn estas interesita en tio, Mi povus esti persvadita provi ĝin ekstere kaj eliri la kinks. Se iu jam faris tion, please let me know and I’ll gladly link to your blog 🙂

Mi pensas ke defio kun vertikala grafeo estas ke la etikedoj por la grafeo estas pli malfacila administri, Sed certe ne neebla.

Kampa Nomo Gotcha-a:

Estas almenaŭ du aferoj rigardi ekstere por kun viaj kampaj nomoj.

Unue, Kampa nomo kun spaco devas esti evitita en la XSL. Tio ĉi verŝajne estos afero ĉi tie:

        <Xsl:Varia Nomo="TotalProposed" 
Elektita="Kalkulo(/DsQueryResponse/Disputa/Disputo[Normaligi-spaco(@Statuso) = 'Farota'])" />

Se via "Statuso" Kolumno estas efektive nomita "Statusan Kodon" Tiam vi devas referenci ĝin kiel "Statuso_x0020_Kodo":

   <Xsl:Varia Nomo="TotalProposed" 
Elektita="Kalkulo(/DsQueryResponse/Disputa/Disputo[Normaligi-spaco(@Statuso_x0020_Kodo) = 'Farota'])" />

Due, Kaj mi estas malgranda malpreciza sur tio ĉi, Sed vi ankaŭ devas esti sur la atentigo por kampa nomo ŝanĝoj. Se vi nomas vian kampan "Statusan Kodon" Kaj tiam poste sur, Renomi ĝin al "AFEa Statuso", La "interna nomo" Ne ŝanĝas. La interna nomo ankoraŭ estos "Statusa Kodo" Kaj devas esti referencita kiel "Statuso_x0020_Kodo". La "aliaj rimedoj" Ligoj povas helpi diagnozi kaj ĝustigi ĉi tiun specon de problemo.

Pri tiu Koloro:

Mi elektis "ruĝan" Ĉar ĝi estas plaĉanta al mi ĉe la momento. Ĝi ne estus granda interkonsento montri malsamajn kolorojn por provizi pli da ol nur vida priskribo de nombro, Sed ankaŭ provizi utilan KPI. Ekzemple, Se la procento de "ekhaltita" AFE-a estas > 10% Tiam montri ĝin ruĝa, Alie montri ĝin en nigrulo. Uzo <Xsl:Elekti> Plenumi tion ĉi.

Aliaj Rimedoj:

Feliĉa transformanta!

<Fino/>

Aboni al mia blogo!

Nuna OMa Datumo Tra Laŭmenda Listo (Aŭ, Sed tamen Alia OMa Datumo Displayor [Kiel YACC, Sed malsama])

Hodiaŭ, Mi elspezis iometon de horoj spuranta malsupren la radikan aferon malantaŭ la mesaĝo "La kolumna nomo ke vi eniris estas jam en uzo aŭ rezervita. Elekti alian nomon."

La kolumno en demando povus esti kreita, Forigita kaj re-kreita en alia medio, Do mi sciis ĝin ne estis sindetena nomo. Tamen, Mi simple couldn?? Trovas la kolumnon anywhere tra la norma SharePoint uzanta fasado #?e ajna ejo en la eja kolekto.

Mi #po?ti al MSDNaj forumoj #?i tie Kaj la nesubigebla Andrew Woodward Indikita min en la direkto de la fundamenta objekta modela datumo.

Mi iris ekstere al Codeplex Trovi kelkajn ilojn kiu helpus min samulo en la fundamenta OMa datumo kaj helpi min #trovi?i la problemon.

Mi provis plurajn ilojn kaj ilin estis tre #fre?a kaj interesa sed en la fino, La UI ne estis bona sufiĉa por mia celo. Mi ne estas kritikanta ilin de ajna rimedo, Sed klare la ilo-fabrikistoj didn?? Havas mian problemon en menso kiam ili kreis ilian UI :). Plejpartoj de homoj ŝajnas esti investanta justan kvanton de tempo kaj peno en kreanta laborstacion / Klientaj aplikoj kiu provizas arbajn vidojn, Ĝusta-klaka kunteksto menuoj kaj tiel antaŭen. Ĉi tiuj estas belaj kaj ĉiuj, Sed ?i?? Multa laboro krei pintan-de-la-linia uzanto sperto kiu estas #anka? tre fleksebla.

Mi vere devis respondon al #?i tiu problemo. ?i okazis al mi ke se mi povus akiri #?iu de la ejaj kolumnoj en la eja kolekto en #la?menda listo, Mi povus filtri, Speco kaj krei vidojn kiu helpus min trovi #tio ?i supozate ekzistanta kolumnon (Kiu ?i faris, BTW). Mi iris antaŭen kaj faris tion kaj horon aŭ du poste, Havis #?iuj miaj ejaj kolumnoj #?ar?i en #la?menda listo kun #grupi?o, Ordiganta kaj tiel antaŭen. Mi trovis mian respondon kvin minutoj poste.

Se kaj kiam mi sukcese transprenas la mondon, Mi pensas min dekretos ke ĉiuj SharePoint ilaj provizantoj grave devas konsideri supriĝanta ilian objektan modelan datumon en laŭmenda listo. KE vojo, Mi havas la potencon #Ser?i ajnan vojon mi deziras (Limigita, Nature, De norma sharepoint #?efa?o).