Bar se toujou trè wo pou etann bab PANYÒL

Jodia, Mwen te travay ak yon kliyan an ak dekri kijan pou motifye pati entènèt requête pi kontan ak etale pyès lòt enfòmasyon ki soti nan yon pi kontan jan de.

"Pwemye., ou configure a CQWP pou li konekte li pou li sous enfòmasyon yo, Lè sa a, nou transpòte li pou workstation ou, motifye <CommonViewFields>, téléchargement, retire orijinal la. Koulye a se ' e’ pou yo ekspoze sa lòt kolòn. Pwochen, louvri moute SharePoint fè desen, navige pou kote ki gen koleksyon rasin ak lokalize ItemStyle.xsl. Copie yonn nan modèles yo kòm yon pwen kòmanse itil. Bezwen tounen lakay yo ak motifye CQWP pou fè itilize de modèle nouvo sa a. A la fen, motifye modèle a Ann nouvo jaden nou! (Pa bliye, pou yo tcheke li tounen nan se konsa sa lòt moun ka wè rezilta)."

Tout tou afè klè pou m (pifò nan nou kalite ki pèmèt yo devlope SharePoint) sa k ap pase ak ki jan li fè bon jan sa dwe fèt, vrèman, Aspè récupération done ki CQWP a ki se konsa geri-mele nan done pwezantasyon aspè yo. Men, se pa fasil pou kapab eksplike, se li?

<fin />

Technorati baj: ,

Afficher Contenu Requête Web pati rezilta nan yon Grille / Tab

Kourikoulòm ak objektif

Soti nan bwat la, BAB PANYÒL’ Requête contenu Web pati (CQWP) affiche rezilta li nan yon lis fòma, menm jan an pou fè rechèch rezilta yo. Se tou posib pou yo ekspoze rezilta nan yon fòma galri (c'est-à-dire. Fòma tab HTML). Gwiyad be'l varyete fo'm ki pi bon nan kèk sikonstans. Mwen kapab dekri kijan pou reyalize sa rive vre nan atik sa a.

Biznis Scénario

Mwen te travay ak yon kliyan an sou yon antrepwiz laj bab PANYÒL déploiement. Nou te fèt yo classification comme pou pwojè se sitwayen pwemye klas nan anbakasyon a yo ye pwòp kote ki gen sou tèt kiyè. Pwojè administratè genyen yon lis singleton pwojè rezime enfòmasyon, tankou Tit, bidjè, te ka espere fin dat, bidjè ki rete ak lòt kalite rezime sistèm yo. Pa "singleton" Mwen vle di yon repòtaj lis SharePoint ki garanti pou genyen sèlman yon atik. Manière, li sanble ke sa:

imaj

Approche teknik la. Se menm jan te dekri Isit (http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!447.entry). A CQWP itilize yon transform XSL è HTML pou browser a Ann.

Mwen toujou envision rezilta a devan plonje nan XSL a paske XSL se yon tèrib kòchma. Se isit la mwen bèl rezilta:

imaj

HTML kon sa génère rezilta sa:

<html>
 <>
 <sant>
 <tab fontyè= 1>

<!-- Étiquettes->
 <tr bgcolor= ble>
 <td><klavye koulè= blanch><b>Pwojè non</b></klavye></td>
 <td fè aliman= dwat><klavye koulè= blanch><b>Dat nèt sou tout pwen</b></klavye></td>
 <td fè aliman= dwat><klavye koulè= blanch><b>Bidjè</b></klavye></td>
 <td fè aliman= dwat><klavye koulè= blanch><b>Depans réel</b></klavye></td>
 <td><klavye koulè= blanch><b>Tout estati</b></klavye></td>
 </tr>

<tr>
 <td>Re-fil chanm konpitè.</td>
 <td fè aliman= dwat>02/01/08</td>
 <td fè aliman= dwat>22,500.00</td>
 <td fè aliman= dwat>19,000.00</td>
 <td>Nan pwogrè</td>
 </tr>

<tr>
 <td>Serveurs pwovizyon pou SQL à</td>
 <td fè aliman= dwat>04/01/08</td>
 <td fè aliman= dwat>7,500.00</td>
 <td fè aliman= dwat>0.00</td>
 <td>Te planifye</td>
 </tr>

</tab>
 </sant>
 </>
</html>

Aproche apròch

Swiv sa etap sa yo pou kreye gri an:

  1. Idantifye composants de la grille (èskonbwit/colonnes).
  2. Defini Et kreye colonnes kote ki gen nesesè.
  3. Kreye sub pozisyon pou pwojè ak nan lis singleton.
  4. Ajoute CQWP a yon paj entènèt ak configure li pou fè rechèch pou lis ou.
  5. Motifye CQWP la XML rasanble moute les colonnes supplémentaires.
  6. Motifye a XSL pou générer yon tab.

M pral konsantre sou anpil sis. Anpil moun yonn nan kat se kò-devlopman ak yon bagay ki gen CQWP kap itilize li an ki te deja fè. Nimewo, senk ki te byen documentés pa lòt moun ki genyen atik sa a exhaustive ekran te tire en nan MSDN Isit (http://msdn2.microsoft.com/en-us/library/bb897399.aspx) Et blog Heather Salomon te Isit (http://www.heathersolomon.com/blog/articles/CustomItemStyle.aspx).

Reta ak Vis

Te chita nan Et aplike étapes UN nan senk as per a MSDN dokiman Et atik Heather Salomon te.

Nan pwen sa a, ou te vin ajoute nan CQWP ou paj Et ou gen ou <CommonViewFields> configuré comme nesesè.

Swiv les étapes selon lizaj, M gen rezilta entèmedyè sa:

1. Kreye yon jan de contenu, yon repòtaj lis templatized pou sa pi kontan tip e ki kote de. Se isit la pi kontan jan de:

imaj

Isit la se kote ki gen sipò:

imaj

2. Ajoute CQWP a aprè li te kreye m' pwojè sites Et singleton pwojè rezime lis:

imaj

3. Ajoute tout a plis enfòmasyon mwen vle via la <CommonViewFields>:

        <pwopriyete fe-apel="CommonViewFields" tip="filè">Project_x0020_Name;Project_x0020_Expenses;Project_x0020_Status;Project_x0020_Start_x0020_Date;Project_x0020_End_x0020_Date;Project_x0020_Budget</pwopriyete>

N ap fè konnen mwen te gen pou kenbe tout pwopwiyete savann sou yon liy ou li pa ta travay (CQWP ta di m' sa requête la te retounen atik pa).

4. Nan pwen sa a, nou pwèt pou nou avanse dèyè a atik MSDN ak (sou sou pou atik Heather Salomon te. Swiv pye l' kòmanse tou pwe pa nan #5 pou kreye yon personnalisé / unghosted vèsyon pipiti de youn nan ItemStyle.xsl. Mwen swiv konsèy Heather a, leve kanpe par étape 11 Et obtenir rezilta entèmedyè sa:

4.1: Non M' modèle XSL comme piba:

<xsl:modèle non = "Grille" à = "ligne[@Style = 'Gwiyad']" mòd = "itemstyle">

Mwen tou pa yon ti jan motifye li a <xsl:pou-chak …> pa pandan l ajoute yon <br /> etikèt ki pou bay yon moun ki nan lis:

    <xsl:pou-chak fè chwa="@*">
      P I:<xsl:valè-de fè chwa="fe-apel()" /><br/>
    </xsl:pou-chak>

4.2: Mwen motifye pati entènèt la, ale nan figi yo epi chwazi m "Grille" mod:

imaj

Aplike a chanje Et isit la se rezilta a:

imaj

Nou kapab wè de la CI-dessus ke jaden nou vle (Pwojè non, depans, estati, ets) ki disponib pou nou pou yo itilize lè nou fè sikile a HTML. Pa sèlman sa, Men, nou wè non a nou dwe référence kolòn sa nan XSL a. Pa ekzanp, nou référence pwojè estati ou kòm "Project_x005F_x0020_Name".

Nan pwen sa a, nou pati nan Heather an blog ak nan zepòl gran sa yo, Mwen ajoute ti afèm.

ContentQueryMain.xsl

NOTE: Lè fè chanjman pou toulède ContentQueryMain.xsl osi byen ke ItemStyle.xsl, ou bezwen pou yo tcheke fichiers sa tounen nan, anvan ou te wè fè chanjman ou.

Pou rezon an tankou ofrann grille, Bab PANYÒL yo itilize de diferan XSL fichiers pou pwodwi rezilta nou wè nan yon CQWP. Pou jenere ansyen moso pèsistans yap ogmante jiska, nou te modifye ItemStyle.xsl. Bab PANYÒL yo aktyèlman itilize yon lòt XSL ranpli, ContentQueryMain.xsl pou ansanm ak ItemStyle.xsl pou jenere HTML li. Menm jan li yo, non implique, ContentQueryMain.xsl, ki se "pwensipal la" XSL yo kontwole tout pèdi tradiksyon. Une nan tout atik a ak rann yo yonn pou modèles nan ItemStyle.xsl. Nou ap motifye ItemStyle.xsl pou jenere pòt <tab> etikèt devan émet dispit lan premye done e fèmen a <tab> etikèt apwè émet dènye dispit lan. Pou reyalize sa, ContentQueryMain.xsl modifye pou yo pase pou nou "grille de paramètres" modèle nan ItemStyle.xsl, "dènye ligne" ak "aktyèl afile". ItemStyle.xsl itilize sa è conditionnelle baj nesesè yo.

W ap itilize teknik Heather Salomon te, nou jwenn ContentQueryMain.xsl. Sitiye nan la, kote ke ItemStyle.xsl. Piki ekran sa a ta dwe ede:

imaj

Nou bezwen pou fè chanjman suivant yo:

  • Motifye yon modèle xsl, "CallItemTemplate" ki aktyèlman appelle modèle gwiyad nou nan ItemStyle.xsl. Nou pral pase de karakteristik pou modèle galri a ke li pwal gen yon data li bezwen pou conditionnelle pwodui louvri ak fèmen <tab> baj.
  • Motifye yon lòt ti ContentQueryMain.xsl ki rele la "CallItemTemplate" pou yo pase l' yon "LastRow" paramètre se konsa, LastRow sa ta dwe pase pou nou modèle Grille.

Recherchez modèle a ki rele "OuterTemplate.CallItemTemplate" idantifye nan kòd la:

  <xsl:modèle fe-apel="OuterTemplate.CallItemTemplate">

Ranplase a an antye modèle comme piba:

  <xsl:modèle fe-apel="OuterTemplate.CallItemTemplate">
    <xsl:param fe-apel="CurPosition" />

    <!--
      Ajoute a "LastRow" paramètre.
      Nou sèlman itilize li lè pase stil atik nan "Grille".
    -->
    <xsl:param fe-apel="LastRow" />

    <xsl:chwazi>
      <xsl:Kile tès="@Style = 'NewsRollUpItem'">
        <xsl:modèles aplike fè chwa="." mòd="itemstyle">
          <xsl:ak-param fe-apel="EditMode" fè chwa="$cbq_iseditmode" />
        </xsl:modèles aplike>
      </xsl:Kile>
      <xsl:Kile tès="@Style = 'NewsBigItem'">
        <xsl:modèles aplike fè chwa="." mòd="itemstyle">
          <xsl:ak-param fe-apel="CurPos" fè chwa="$CurPosition" />
        </xsl:modèles aplike>
      </xsl:Kile>
      <xsl:Kile tès="@Style = 'NewsCategoryItem'">
        <xsl:modèles aplike fè chwa="." mòd="itemstyle">
          <xsl:ak-param fe-apel="CurPos" fè chwa="$CurPosition" />
        </xsl:modèles aplike>
      </xsl:Kile>

      <!--
              Pase pozisyon aktyèl ak lastrow pou modèle itemstyle.xsl Grille.
              ItemStyle.xsl pwal itilize sa pou fè sikile a louvri Et fèmen <tab> baj.
      -->
      <xsl:Kile tès="@Style = 'Grille'">
        <xsl:modèles aplike fè chwa="." mòd="itemstyle">
          <xsl:ak-param fe-apel="CurPos" fè chwa="$CurPosition" />
          <xsl:ak-param fe-apel="Dire" fè chwa="$LastRow" />
        </xsl:modèles aplike>
      </xsl:Kile>

      <xsl:san sa>
        <xsl:modèles aplike fè chwa="." mòd="itemstyle">
        </xsl:modèles aplike>
      </xsl:san sa>
    </xsl:chwazi>
  </xsl:modèle>

Kòmantè yo pou esplike sa chanjman.

Men wi, la "OuterTemplate.CallItemTemplate" li menm ki rele soti nan yon lòt modèle. Lokalize modèle sa pa chache kòd tèks sa a:

<xsl:modèle fe-apel="OuterTemplate.Body">

Ki gen nan sa pou nou fè nan OuterTemplate.Body epi mete paramètre LastRow a comme piba (montre kòm yon kòmantè nan en):

<xsl:apèl-modèle fe-apel="OuterTemplate.CallItemTemplate">
  <xsl:ak-param fe-apel="CurPosition" fè chwa="$CurPosition" />
  <!-- Mete a paramètre LastRow. -->
  <xsl:ak-param fe-apel="LastRow" fè chwa="$LastRow"/>
</xsl:apèl-modèle>

Après tout sa, nou gen a la fen sa ki te mete sou pye correctement lè sa a, nou ItemStyle.xsl ka fè sikile <tab> baj nan sèl kote.

ItemStyle.Xsl

NOTE: Ankò, tcheke nan ItemStyle.xsl t' ap nenpòt chanjman ki fèt lè sa a, n' a wè effet-kou chanjman sa.

Nou gen de travay isit la:

  • Ranplase modèle gri an antye. Ou kapab kopi/mòtye depi anba.
  • Ajoute yon trames mumbo te deyò a definisyon modèle permet "formatcurrency" modèle pou travay. (Ou kapab di ke mwen gen yon rèl manch sou XSL).

Premye, près de ItemStyle.xsl sou tèt, ajoute liy sa a:

  <!-- Kèk trames mumbo permet nou pou yo ekspoze aux. lajan. -->
  <xsl:desimal-fòma fe-apel="anplwaye" chif="KRAZE-BRIZE" />

  <xsl:modèle fe-apel="Par" jwenn mèt ke l="*" mòd="itemstyle">

Remarque te ajoute ke mwen ke li tou dwat anvan a <xsl:modèle non = "par" …> definisyon.

Pwochen, tounen al jwenn nou modèle galri. Ranplase modèle gri an antye ak kòd ki pi ba. Li devan dèyè a, Men, pa ezite e-mail m' pa kite kòmantè sou blog mwen si ou gen kesyon.

  <xsl:modèle fe-apel="Galri" jwenn mèt ke l="Pagaye[@Style = 'Grille']" mòd="itemstyle">

    <!--
      ContentMain.xsl rann CurPos ak dènye.
      Nou itilize sa yo pou conditionnelle fè sikile a louvri ak fèmen <tab> baj.
    -->
    <xsl:param fe-apel="CurPos" />
    <xsl:param fe-apel="Dire" />

    <!-- Apwe variables non a ItemStyle.xsl estanda -->
    <xsl:varyab fe-apel="SafeImageUrl">
      <xsl:apèl-modèle fe-apel="OuterTemplate.GetSafeStaticUrl">
        <xsl:ak-param fe-apel="UrlColumnName" fè chwa="'ImageUrl'"/>
      </xsl:apèl-modèle>
    </xsl:varyab>
    <xsl:varyab fe-apel="SafeLinkUrl">
      <xsl:apèl-modèle fe-apel="OuterTemplate.GetSafeLink">
        <xsl:ak-param fe-apel="UrlColumnName" fè chwa="'LinkUrl'"/>
      </xsl:apèl-modèle>
    </xsl:varyab>
    <xsl:varyab fe-apel="DisplayTitle">
      <xsl:apèl-modèle fe-apel="OuterTemplate.GetTitle">
        <xsl:ak-param fe-apel="Tit" fè chwa="@Title"/>
        <xsl:ak-param fe-apel="UrlColumnName" fè chwa="'LinkUrl'"/>
      </xsl:apèl-modèle>
    </xsl:varyab>
    <xsl:varyab fe-apel="LinkTarget">
      <xsl:Si tès="@OpenInNewWindow = 'Vre'" >_blank</xsl:Si>
    </xsl:varyab>

    <!--
      Isit la nou defini yon varyab, "tableStart".  Sa a genyen ladan HTML sa nou itilize pou defini sanvenmil tab la tankou étiquettes kolòn yo.  Note si sa CurPos = 1, sa gen ladann HTML a nan yon etikèt CDATA.
      San sa, se va vid.

      Valè tableStart se emited chak fwa ItemStyle te rele via ContentQueryMain.xsl.
    -->
    <xsl:varyab fe-apel="tableStart">
      <xsl:Si tès="$CurPos = 1">
        <![CDATA[
        <tab fontyè = 1>
          <tr bgcolor = "ble">
            <td><klavye koulè = "blanch"><b>Pwojè non</b></klavye></td>
            <fè aliman td = "dwa"><klavye koulè = "blanch"><b>Dat nèt sou tout pwen</b></klavye></td>
            <fè aliman td = "dwa"><klavye koulè = "blanch"><b>Bidjè</b></klavye></td>
            <fè aliman td = "dwa"><klavye koulè = "blanch"><b>Depans réel</b></klavye></td>
            <td><klavye koulè = "blanch"><b>Tout estati</b></klavye></td>
          </tr>
        ]]>
      </xsl:Si>
    </xsl:varyab>

    <!--
      Yon lòt varyab, tableEnd tou senpleman définit la fèmen tab etikèt.

      Kòm ak tableStart, se toujou emited.  Se poutèt sa, pri pou li plase conditionnelle ki baze sou konnen si nou te gen te yo te fè pase dènye dispit lan ContentQueryMain.xsl sa.
    -->
    <xsl:varyab fe-apel="tableEnd">
      <xsl:Si tès="$CurPos = $Last">
        <![CDATA[ </tab> ]]>
      </xsl:Si>
    </xsl:varyab>

    <!--
      Toujou fè sikile tableStart sa ki nan liv.  Si se pa premye ranje a, yo te fè pase pou nou ContentQueryMain.xsl, Lè sa a, nou konnen pri pou li yo va vid.

      Rann enfim pèsistans yap ogmante jiska ke paske lè tableStart l pa vide, sa gen ladann aktyèl HTML sa nou vle fè an ki te rann pa browser a.  Si nou pa di analyseur XSL la pou rann enfim sortie ke, li pral pwodui estaf kòm"&lt;tab&gt;" tan pou"<tab>".
    -->
    <xsl:valè-de fè chwa="$tableStart" rann enfim-pèsistans yap ogmante jiska-ke="Wi"/>


    <tr>
      <!--
      P I: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:valè-de fè chwa="@Project_x005F_x0020_Name"/>
      </td>

      <td fè aliman="pa vre">
        <xsl:valè-de fè chwa="@Project_x005F_x0020_End_x005F_x0020_Date"/>
      </td>

      <td fè aliman="pa vre">
        <xsl:apèl-modèle fe-apel="formatcurrency">
          <xsl:ak-param fe-apel="valè" 
fè chwa="@Project_x005F_x0020_Budget"></xsl:ak-param> </xsl:apèl-modèle> </td> <td fè aliman="pa vre"> <xsl:apèl-modèle fe-apel="formatcurrency"> <xsl:ak-param fe-apel="valè" fè chwa="@Project_x005F_x0020_Expenses">
</xsl:ak-param> </xsl:apèl-modèle> </td> <td> <xsl:valè-de fè chwa="@Project_x005F_x0020_Status"/> </td> <!-- Tout moun sa yo a pou klarifye bagay. Sepandan, pote kanè sa yo tounen lakay yo ak vant deboutonnen / li antre nan yon <td> pou wè li vre. --> <!-- <div didantite = "linkitem" klas = "élément"> <xsl:Si tès = "kòd longè($SafeImageUrl) != 0"> <klas div = "estati ki nan zòn ki bò gòch"> <yon href = "{$SafeLinkUrl}" sib = "{$LinkTarget}"> <klas img = "estati ki fikse-lajè" src = "{$SafeImageUrl}"
alt = "{@ImageUrlAltText}"/> </yon> </div> </xsl:Si> <klas div = "lyen atik"> <xsl:apèl-modèle
Name="OuterTemplate.CallPresenceStatusIconTemplate"/> <yon href = "{$SafeLinkUrl}"
sib = "{$LinkTarget}" tit = "{@LinkToolTip}"> <xsl:valè-de chwazi = "$DisxslyTitle" /> </yon> <klas div = "dekri teren"> <xsl:valè-de select="@Description" /> </div> </div> </div>
--> </tr> <!-- Fè sikile la fermeture tab etikèt. Si nou pa fè sou dènye dispit lan, sa va vid. --> <xsl:valè-de fè chwa="$tableEnd" rann enfim-pèsistans yap ogmante jiska-ke="Wi"/> </xsl:modèle> <xsl:modèle fe-apel="formatcurrency"> <xsl:param fe-apel="valè" fè chwa="0" /> <xsl:valè-de fè chwa='fòma-nombre($valè, "$DDD,DDD,DDD.JJ", "gwoup")' /> </xsl:modèle>

Bab estanda WSS/PANYÒL done antre Écrans sipòte en ane ke yo bliye-downs (ou lòt echanj rejyonal-de kominikasyon)

AJOU (04/2008): Antre nan gwo blog sa a montre ke yon bon javascript baze approche pou pwoblèm sa a: http://webborg.blogspot.com/2008/04/add-functions-and-events-to-sharepoint.html

À II: (04/2008): Sa a antre blog semble prometteurs osi byen: http://www.cleverworkarounds.com/2008/03/13/free-mosswss-2007-web-part-hide-controls-via-javascript/

Plizyè fwa pa semèn, si pa chak jou, foròm nèg ki dekri yon kondisyon ki ta nòmalman pou te rankontre via en ane ke yo bliye-downs. Pa ekzanp, Mwen gen de ane ke yo bliye ki anba kontwòl yo:

  • Lis aux. Etazini
  • Lis aux. vil yo.

Kòm chèf fanmi UI fournisseurs, nou vle li pou opere kon sa:

  • Pòl sélectionne aux yon. eta nan ane ke yo bliye-desann.
  • Sa lakòz vil yo, ane ke yo bliye anba pou filtre sèlman sa vil yo ki fè pati pou eta a sélectionné.
  • Pòl sélectionne yon vil de filtrage lis sa a.

Se pa deyò-de-a-bwat sipò yo pou mak sa a. an reyalite, se pa OOB sipò pou nenpòt kalite dirèk andedan-fòm kominikasyon. Sa gen ladann par masquer/e/kòkò jaden nan repons pou chanjman jaden sou fòm lan, yon lòt kote.

A objèktif reyèl ki atik sa a pou pou Espliké sa posib solisyon yo ak sa yo se pwogram ki sa mwen konnen yo:

  1. Devlope yon kolòn repòtaj tip. Tankou yon vye koutim-kolòn-devlope, ou gen anpil kontwole "mond lan" ki sa repòtaj kolòn. Ou ka aplike yon en ane ke yo bliye ki anba menm wout.
  2. Konsidere itilize workflow. Nan kèk ka, ou vle li otomatik valè yon jaden baze sou valè yon lòt jaden. Nan ka sa a, ou ta nòmalman eseye pou yo itilize yon kolòn calculé, Men, gen kèk fwa, li jis pa p fè travay la. Concepteur SharePoint workflow, ki se yon relativman administre zanmi altènatif pou lapli nan kòd ak izyèl estidyo. Si ou ale nan wout sa a, konnen byen sa a adrese pa atik sa a (http://paulgalvin.spaces.live.com/blog/cns!CC1EDB3DAA9B8AA!405.entry).
  3. Evènman D': Tankou workflow, sa se yon solisyon apwè-a-reyalite. Ou D' evènman se yon .NET asanble (C#, VB.NET) pou SharePoint ki rann kontwòl. Objè nou devlope gen aksè a enfòmasyon nan lis la (Et modèl ki tout bagay la) Et kapab fè nenpòt bezwen kalkil.
  4. Sèvi ak SharePoint Concepteur pou kreye fòmilè repòtaj antre. M pa gen eksperyans dirèk ak apwòch sa a, but I hear they are doing good things with NewForm.aspx these days 🙂
  5. Ti pen pwòp ASP.NET done antre fonksyon (kòm yon autonome paj entènèt ou tankou yon pati nan yon web) ak epi itilize sa au.

Si yon moun konnen lòt ak pi bon chwa, souple afiche yon kòmantè de Et m' ap à kadav la nan pòs sa a.

<fin />

Wi/non (n. Bwat separe, chèk separe) filtrage nan pati entènèt Requête Contenu

Pou filtre pou yon requête pou wè/bwat separe, chèk separe pa gen dwa "PG mache", configure CQWP kon sa:

imaj

Sa se yon lòt UN de evidan-une-ou ki konnen-li men hard-to-find-an-answer-to kesyon sa yo sou: Kijan pou filtre sou yon wi/pa separe, chèk separe bwat ki ap itilize nan pati entènèt requête contenu.

Premye recherche rezilta Mwen jwenn itilize tèm recherche "filtrer le contenu wi/non requête web pati" pwoblèm ou k'ap trennen deyò, Se poutèt sa, mwen te panse mwen ta mete sa a kanpe e wè si li ka ranplase pa kòrèk rezilta nan rezilta recherche Standard.

Jan sa dwe fèt fasil: Laverite valè = "1" Et bay manti valè égale "1" (bèl rétro, aktyèlman).

Nan CI-dessus tankou, Mwen te kreye kolòn kote ki gen de kalite wi/non" (à)" rele "PG mache". Mwen te ajoute ke li pou yon bibliyotèk dòk, télécharger kèk dokiman, mete an valè pou yon koup Et testé li.

<fin />

Kreye Bar Graphiques nan SharePoint

Kourikoulòm:

(AJOU 12/04/07: Te ajoute yon lòt resous enteresan nan finisman entre pou yon lòt blog sa adresses sa via yon trè bon nan entènèt)

Antre blog sa a dekri kijan pou kreye yon graf bar nan SharePoint. Sa a travay nan tou de WSS ak bab PANYÒL environnements kòm li sèlman depann sou a done vi web pati.

A tout approche se comme piba:

  1. Kreye yon lis ou bibliyotèk dokiman ki gen ladann data ou vle trase graf.
  2. Kote ki asosye dokiman bibliyotèk la / personnalisés lis sou yon paj Et kouvri l' pou yon done view entènèt nan (DVWP).
  3. Motifye DVWP la XSL pou générer HTML ki montre kòm yon graf.

Biznis Scénario / Du:

Mwen te kreye yon lis personnalisé ak nivo kolòn Tit Et yon kolòn supplémentaires, "Estati". Modèl sa a (trè simplement) yon "otorizasyon pou frè" scénario kote tit yo repwezante pwojè a ak estati a yon valè de lis:

  • Pwopoze
  • Nan yon pwosè
  • Au

Objektif la se pou pwodwi yon interactive kouche plat bar graf ki montre codes kondisyon sa yo.

M' ont rempli lis e li parèt tankou sa:

imaj

Kreye done View Web pati:

Kreye DVWP a pa ajout personnalisé lis pou yon paj (kote ki gen paj nan ka mwen) Et swiv eksplikasyon Isit (http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!395.entry).

San konte yo senpleman ap kreye a DVWP, nou bezwen to pou mete sou byen échange pou montre tout èskonbwit disponib. Pou mwen, sa ki sanble yon bagay tankou sa:

imaj

Nan pwen sa a, Mwen toujou fèmen Pati Demokrat Sosyal ak browser a. Mwen lè sa a re-louvri paj la ap itilize a browser. Sa kapab anpeche a aza/chans mucking moute en pati entènèt la nan paj la.

Motifye XSLT a:

Kounye a se moman pou motifye XSLT a.

Mwen toujou sèvi ak izyèl estidyo pou sa. (Gade Isit pou yon nòt enpòtan sou intellisense ki pwal ede ou anpil).

Mwen kreye yon pwojè vid ajoute kat nouvo fichiers (ranplase les mots "orijinal" Et "New" comme apwopriye):

  • Original.xslt
  • New.xslt
  • Params.xml orijinal
  • Nouvo Params.xml

Nan ka mwen, li sanble ke sa:

imaj

Motifye pati entènèt la ak copie a params Et XSL pou a "orijinal" vèsyon pipiti de youn nan estidyo izyèl.

Objektif isit la, se pou koze a XSL transfòme rezilta nou tounen de la requête DVWP nan HTML renders kòm yon graf.

Pou sa a fini, li te ede pou premye konsidere sa HTML la ta dwe sanble anvan nou pran an boulvès/magregò pa erezon sa ke yo rekonèt tankou "XSL". (Pou yo, sa a se senpman yon egzanp; pa gwoup li ni kopi/mòtye nan estidyo izyèl. Mwen bay yon kou plen kòmanse pwen pou sa ta nan write-up a). Graf echantiyon sa an ki te rann as per HTML a imedyatman apwe:

Egzanp Bar graf

Korespondan HTML:

<html>
<kò>
<sant>
<tab lajè = 80%>
<tr><td><sant>Graf Bar orizontal</td></tr>
<tr>
<fè aliman td = "Centre">
<tab fontyè = "1" lajè = 80%>
<tr>
<lajè td = 10%>Louvri</td>
<td><tab cellpadding ="0" cellspacing ="0" fontyè = 0 lajè = 50%><tr bgcolor = wouj><td>&nbsp;</td></tr></tab></td>
</tr>
<tr>
<lajè td = 10%>Fèmen</td>
<td><tab cellpadding ="0" cellspacing ="0" fontyè = 0 lajè = 25%><tr bgcolor = wouj><td>&nbsp;</td></tr></tab></td>
</tr>
<tr>
<lajè td = 10%>Au</td>
<td><tab cellpadding ="0" cellspacing ="0" fontyè = 0 lajè = 25%><tr bgcolor = wouj><td>&nbsp;</td></tr></tab></td>
</tr>
</tab>
</td>
</tr>
</tab>
</kò>
</html>

Mwen te itilize yon apwòch mouri senp pou kreye anpeche m' pa mete jan nou koumanse koulè lot pou "wouj".

A take-away isit la se sa a: Nan fen, tou sa n' ap fè kreye HTML èskonbwit ak colonnes.

Modèle XSLT:

Mwen te gen copié XSLT sa génère yon graf kouche plat bar. Sa pa fè anyen nivo a se poutèt sa mwen pa p ajoute anpil isit la eksepte sa yo nòt:

  • Mwen te kòmanse avèk a defo XSL SharePoint Concepteur ban m' lè mwen te kreye premye a DVWP.
  • Mwen pa t ' kapab pou voye sa jete nan pati sosyal Demokratik la 657 liy yo pou 166 ranje.
  • M pa t fatra autour ak fichier XML paramètres (sa pa menm ak XSL a Et w ap konnen sa mwen vle di lè ou ale nan motifye DVWP tèt li; genyen de fichiers ou kapab motifye). Sepandan, pou senplifye li, Mwen te retire pwèske tout yo nan XSL a. Sa vle di ke si ou vle fè sèvi ak karakteristik sa, ou annik bezwen pou ajoute définitions varyasyon yo tounen pou XSL a. Sa ki ka fasil depi ou orijinal XSL varyasyon définitions nan pwojè izyèl estidyo ou.
  • Ou ta dwe kapab kopi e pat sa a tou dwat nan pwojè izyèl estidyo ou. apre, wete m' apèl yo ak mete pwòp apèl pou "ShowBar".
  • Sèvi ak machin tonbe nan fè sa pa kreye yon <yon href> konsa: http://server/List?FilterField1=fieldname&FilterValue1=actualFilterValue. Teknik sa ka gen anpil valè contextes lòt. Nan premye, Mwen te panse mwen ta bezwen trèz pou yon fòma plis konplèks: http://server/List/AllItems.aspx?View={guid}&FilterField1=blah&FilterValue1=blah, Men, nan anviwonman mwen sa pa nesesè. Adrès entènèt lis la te fè pase pou nou SharePoint poutèt sa jan sa dwe fèt fasil pou généraliser.

Isit la se:

<xsl:stylesheet vèsyon pipiti de youn="1.0" exclure-rezilta-préfixes="rs z o s ddwrt dt msxsl" 
xmlns:msxsl="urn:kominote schémas microsoft:xslt" xmlns:xsl="http://www.w3.org/ 1999/XSL/transfòme"
xmlns:SharePoint="Microsoft.SharePoint.WebControls" xmlns:__designer="http://schemas.microsoft.com/WebParts/v2/DataView/designer"
xmlns:asp="http://schemas.microsoft.com/ASPNET/20" xmlns:ddwrt="http://schemas.microsoft.com/WebParts/v2/DataView/runtime"
xmlns:ou menm="urn:kominote schémas microsoft:biwo" xmlns:s="uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882"
xmlns:dt="uuid:C2F41010-65B3 - 11d 1-A29F-00AA00C14882" xmlns:rs="urn:kominote schémas microsoft:lignes" xmlns:z="#RowsetSchema"
xmlns:ddwrt2="urn:frontpage:ntèn"
> <xsl:pèsistans yap ogmante jiska metòd="html" retrait="Non" /> <xsl:desimal-fòma NaN="" /> <xsl:param fe-apel="ListUrlDir"></xsl:param> <!-- Mwen bezwen pou sipòte yon anba sèvi ak machin sa a. --> <xsl:modèle jwenn mèt ke l="/" xmlns:SharePoint="Microsoft.SharePoint.WebControls"
xmlns:__designer=http://schemas.microsoft.com/WebParts/v2/DataView/designer xmlns:asp="http://schemas.microsoft.com/ASPNET/20"
> <xsl:varyab fe-apel="dvt_StyleName">Tab</xsl:varyab> <xsl:varyab fe-apel="Èskonbwit" fè chwa="/dsQueryResponse/èskonbwit/ligne" /> <xsl:varyab fe-apel="dvt_RowCount" fè chwa="konte($Èskonbwit)" /> <xsl:varyab fe-apel="IsEmpty" fè chwa="$dvt_RowCount = 0" /> <xsl:varyab fe-apel="dvt_IsEmpty" fè chwa="$dvt_RowCount = 0" /> <xsl:chwazi> <xsl:Kile tès="$dvt_IsEmpty"> Se pa done pou graf!<br/> </xsl:Kile> <xsl:san sa> <!-- Enteresan bagay la kòmanse isit la. Nou bezwen defini on variables pou chak ranje nan graf a: total kantite atik ak pousan de total. --> <xsl:varyab fe-apel="totalProposed" fè chwa="konte(/dsQueryResponse/èskonbwit/ligne[normaliser espas(@Status) = 'Te pwopoze'])" /> <xsl:varyab fe-apel="percentProposed" fè chwa="$totalProposed div $dvt_RowCount" /> <xsl:varyab fe-apel="totalInProcess" fè chwa="konte(/dsQueryResponse/èskonbwit/ligne[normaliser espas(@Status) = 'Nan pwosesis la])" /> <xsl:varyab fe-apel="percentInProcess" fè chwa="$totalInProcess div $dvt_RowCount" /> <xsl:varyab fe-apel="totalStalled" fè chwa="konte(/dsQueryResponse/èskonbwit/ligne[normaliser espas(@Status) = 'Reviv e enstale la'])" /> <xsl:varyab fe-apel="percentStalled" fè chwa="$totalStalled div $dvt_RowCount" /> <!-- Nou defini nou HTML tab la isit la. Mwen emprunt nan kèk estanda SharePoint estil isit la pou fè l' cohérente. Mwen panse ke li pwal lonè chanjman nan dokiman css mondyal an osi byen ke tèm Sur. --> <tab ajè="100%" cellspacing="0" cellpadding="2" mod="fontyè an ki dwat: 1 on jan #C0C0C0; bounda bough fontyè: 1 on jan #C0C0C0; mod fontyè a gòch: on jan; lajè fontyè a gòch: 1; mod fontyè an tèt: on jan; fontyè an tèt lajè: 1;"> <tr> <td fè aliman="sant"> <tab fontyè="1" ajè="100%"> <!-- Pou chak kondisyon sa nou vle trase graf, nou rele a "ShowBar" modèle. Nou pase li: 1. Yon etikèt pou dispit lan. Sa tounen tankou nan sal Lien yon. 2. Pousan an (varyab nan pi wo pase). 3. Reèl jaden non kòd nan lis de la. Sa a pa bezwen pou n konpare etikèt ki ekspozisyon. 4. Valè jaden correspondance pou #3. 5. Total de atik nan kòd estati sa a (pa a gran total de tout estati codes). Li mou yon <tr></tr> ak liy orizontal bar graf. Nou rele modèle sa a pou chak estati kòd nou vle wè. --> <xsl:apèl-modèle fe-apel="ShowBar"> <xsl:ak-param fe-apel="BarDisplayLabel" fè chwa="'Te pwopoze'"/> <xsl:ak-param fe-apel="BarPercent" fè chwa="$percentProposed"/> <xsl:ak-param fe-apel="QueryFilterFieldName" fè chwa="'Estati'"/> <xsl:ak-param fe-apel="QueryFilterFieldValue" fè chwa="'Te pwopoze'"/> <xsl:ak-param fe-apel="TotalItems" fè chwa="$totalProposed"></xsl:ak-param> </xsl:apèl-modèle> <xsl:apèl-modèle fe-apel="ShowBar"> <xsl:ak-param fe-apel="BarDisplayLabel" fè chwa="'Reviv e enstale la'"/> <xsl:ak-param fe-apel="BarPercent" fè chwa="$percentStalled"/> <xsl:ak-param fe-apel="QueryFilterFieldName" fè chwa="'Estati'"/> <xsl:ak-param fe-apel="QueryFilterFieldValue" fè chwa="'Reviv e enstale la'"/> <xsl:ak-param fe-apel="TotalItems" fè chwa="$totalStalled"></xsl:ak-param> </xsl:apèl-modèle> <xsl:apèl-modèle fe-apel="ShowBar"> <xsl:ak-param fe-apel="BarDisplayLabel" fè chwa="'Nan pwosesis la"/> <xsl:ak-param fe-apel="BarPercent" fè chwa="$percentInProcess"/> <xsl:ak-param fe-apel="QueryFilterFieldName" fè chwa="'Estati'"/> <xsl:ak-param fe-apel="QueryFilterFieldValue" fè chwa="'Nan pwosesis la"/> <xsl:ak-param fe-apel="TotalItems" fè chwa="$totalInProcess"></xsl:ak-param> </xsl:apèl-modèle> </tab> </td> </tr> </tab> </xsl:san sa> </xsl:chwazi> </xsl:modèle> <!-- Modèle sa a fè tou sa montre liy endividyèl yo nan graf bar a. Nou pwal pwobableman fè pifò nan ou réglages isit la. --> <xsl:modèle fe-apel="ShowBar"> <xsl:param fe-apel="BarDisplayLabel" /> <!-- etikèt ki pou montre --> <xsl:param fe-apel="BarPercent"/> <!-- Pousan de total. --> <xsl:param fe-apel="QueryFilterFieldName"/> <!-- Te itilize pou depeche ou la requête & oule --> <xsl:param fe-apel="QueryFilterFieldValue"/> <!-- Te itilize pou depeche ou la requête & oule --> <xsl:param fe-apel="TotalItems" /> <!-- total de konte barlabel sa a --> <tr> <!-- Kafe a make tèt li. --> <td klas="madanm-formbody" ajè="30%"> <!-- Sa kap vini ansanm nan deklarasyon yo baze yon kòd requête ki pèmèt nou sèvi ak machin sou yon vi filtrage de data. Fè nou sèvi ak kèk bagay isit la: 1. Nou kapab pase FilterField1 ak FilterValue1 pou yon lis pou koule sou yon kolòn. 2. SharePoint pase yon kle paramètre pou nou, ListUrlDir ki pwen yo pou de lis kont ki DVWP sa a "kouri". Se pat XSL amizan? --> <xsl:tèks rann enfim-pèsistans yap ogmante jiska-ke="Wi"> <![CDATA[<yon href ="]]></xsl:tèks> <xsl:valè-de fè chwa="$ListUrlDir"/> <xsl:tèks rann enfim-pèsistans yap ogmante jiska-ke="Wi"><![CDATA[?FilterField1 =]]></xsl:tèks> <xsl:valè-de fè chwa="$QueryFilterFieldName"/> <xsl:tèks rann enfim-pèsistans yap ogmante jiska-ke="Wi"><![CDATA[&FilterValue1 =]]></xsl:tèks> <xsl:valè-de fè chwa="$QueryFilterFieldValue"/> <xsl:tèks rann enfim-pèsistans yap ogmante jiska-ke="Wi"><![CDATA[">]]></xsl:tèks> <xsl:valè-de fè chwa="$BarDisplayLabel"/> <xsl:tèks rann enfim-pèsistans yap ogmante jiska-ke="Wi"><![CDATA[</yon>]]></xsl:tèks> <!-- Pwochen moso montre ke anpil moun kèk nan fòma a: "(total / % total a)" --> (<xsl:valè-de fè chwa="$TotalItems"/> / <!-- Sa kreye yon bon etikèt pousan pou nou. Mèsi, Microsoft! --> <xsl:apèl-modèle fe-apel="percentformat"> <xsl:ak-param fe-apel="pousan" fè chwa="$BarPercent"/> </xsl:apèl-modèle>) </td> <!-- A la fen, fè sikile yon <td> etikèt kafe a pou tèt li.--> <td> <tab cellpadding="0" cellspacing="0" fontyè="0" ajè="{bò kote($BarPercent * 100)+1}%"> <tr bgcolor="Rouj"> <xsl:tèks rann enfim-pèsistans yap ogmante jiska-ke="Wi"><![CDATA[&nbsp;]]></xsl:tèks> </tr> </tab> </td> </tr> </xsl:modèle> <!-- Sa ap pran ki soti dirèkteman nan kèk XSL mwen te jwenn nan yon Madanm modèle. --> <xsl:modèle fe-apel="percentformat"> <xsl:param fe-apel="pousan"/> <xsl:chwazi> <xsl:Kile tès="fòma-nombre($pousan, '#,##0%;-#,##0%')= 'NaN'">0%</xsl:Kile> <xsl:san sa> <xsl:valè-de fè chwa="fòma-nombre($pousan, '#,##0%;-#,##0%')" /> </xsl:san sa> </xsl:chwazi> </xsl:modèle> </xsl:stylesheet>

Rezilta:

A XSL de pi wo pase génère graf sa a:

imaj

Sèvi ak machin sou de data klike sou kòd estati a:

imaj

Conclusion lide:

Ka sa Être Générale?

Mwen renmen sa a graphiques konsèp, Men, mwen rayi Lefèt ke mwen gen pou ale, fè anpil men-codage. Mwen te gen vin sove yon ti pou konnen si li kapab fè généralisée ak mwen menm optimis, Men, mwen menm tou yon ti kras pèrèz ke ka gen yon mi an blòk lòt kote nan chemen sa yo ki pa vle ofwi okenn travay ki alantou. Si yon moun gen bon lide sou sa, Tanpri fè yon nòt nan kòmantè yo ou e-mail m.

Graphiques vètikal:

Sa se yon graf kouche plat bar. Sa se sètènman posib pou kreye yon graf vètikal. Nou sèlman bezwen chanje HTML a. Mwen pwal kòmanse a menm jan an tou: Kreye yon reprezantasyon HTML yon graf vètikal bar, lè sa a evalye kijan pou li ale sa via XSL. Si nenpòt moun ta enterese nan sa, Mwen te kapab convaincu kou l' yo ak travay sou kinks yo. Si yon moun te deja fè sa, tanpri kite m 'konnen epi mwen pral kè kontan ap mennen nan blog ou a 🙂

Mwen panse ke defi ak yon graf vètikal se étiquettes yo pou graf a sont pi difisil pou yo jere, Men, wè pa wè pa enposib.

Jaden non Gotcha:

Genyen anviwon de sa ki gen pou chèche pou ak non jaden ou.

Premye, yon non jaden ak yon espas ki bay pou sove nan XSL a. Sa pwal pwobableman vinn yon zafè isit la:

        <xsl:varyab fe-apel="totalProposed" 
fè chwa="konte(/dsQueryResponse/èskonbwit/ligne[normaliser espas(@Status) = 'Te pwopoze'])" />

Si ou "estati" Kolòn aktyèlman rele "stati kòd" Lè sa a ou bezwen référence li kòm "Status_x0020_Code":

   <xsl:varyab fe-apel="totalProposed" 
fè chwa="konte(/dsQueryResponse/èskonbwit/ligne[normaliser espas(@Status_x0020_Code) = 'Te pwopoze'])" />

Dezyèm, mwen se yon ti kras floue sou sa, Men, ou tou bezwen an alèt pou chanjman non jaden. Si ou non jaden nou, "estati kòd" Et puis plus sou, bay yon lòt non l' pou "AFE estati", "entèn non" pa chanje. A entèn toujou y' a rele "stati kòd" e se pou référencé kòm "Status_x0020_Code". "Lòt resous" lyen ka ede onde Et korije sa a jan de pwoblèm.

Osijè de sa koulè:

Mwen pran "wouj" Paske, Bondye vle pou m' nan moman. Li pa ta yon gwo kontra pou montre diferan koulè ki te ekri nan liv bay plis ke senpleman yon izyèl dekri teren anpil, Men, pou yon bon) ke bay tou. Pa ekzanp, Si pousantaj "a" AFE a se > 10% Lè sa a montre l' wouj, san sa montre li an nwa. Sèvi ak <xsl:chwazi> pou reyalize sa.

Lòt resous yo:

Benediksyon pou transformation!

<fin />

Vous pou m' blog!

SharePoint pa bay “Ki moun ki gen aksè” Rapò

AJOU 01/28/08: Codeplex pwojè sa yo adrese bagay sa a: http://www.codeplex.com/AccessChecker. M pa abitye li, Men, li sanble prometteur si sa se yon pwoblèm ou bezwen pale nan anviwònman ou.

AJOU 11/13/08: Joel Oleson a kanpe nan yon pòs trè byen sou pi gwo sekirite gestion kesyon an isit la: http://www.sharepointjoel.com/Lists/Posts/Post.aspx?Lis = 0cd1a63d % 2D183c % 2D4fc2% 2 D 8320% 2Dba5369008acb&DIDANTITE = 113. Li lye pou yon bann lòt resous itil.

Foròm utilisateurs Et kliyan souvan poze kesyon sou liy sa yo: "Ki jan fè mwen jenere yon lis tout moun ak aksè a yon kote ki gen" ou "ki kapab mwen otomatikman alert tout itilizatè ak aksè pou lis apropo de changman ki te fè lis?"

Se pa deyò a solisyon bwat pou sa. Si ou panse osijè de sa pou yon ti moman, sa twò difisil pou konprann poutèt.

SharePoint sekirite anpil likid. Genyen omwen kat gwo kategori moun:

  • Utilisateurs anonim.
  • Utilisateurs SharePoint Et gwoup yo.
  • Utilisateurs anyè aktif.
  • Fòm Fonction D' (FBA) utilisateurs.

Fleksibilite a, ki nan yon pèspektiv sekirite., sit SharePoint bay okenn va dramatikman diferan de lòt. Pou jenere yon rapò lis dwa ak, gen bezwen pou rann kont jan sit la sécurisé, requête miltip référentiels wofil diferan kap itilize li an. Lè sa a pwezante li a la mad yon bon. Sa se yon pwoblèm ki difisil pou rezoud générique.

Gen pou jan sont òganizasyon yo wè ak sa a? Mwen ta renmen tande ou nan kòmantè oubyen mel.

</fen>

Bab PANYÒL di m' m kolòn non se Réservés ou nan itilize … Men, se pa

AJOU 12/04/07: Gade KO Microsoft sa a (http://support.microsoft.com/kb/923589) pou enfòmasyon liés.

Aktyèlman, li vire akote soti li se, Men tricksy Bab PANYÒL yo te gen pou fè l' difisil.

Kliyan mwen fè kèk developman ki travay sou sit bab PANYÒL li sou fen semèn nan. Li se yon ti yon deranje afè tankou sa li te fè, Men rezilta mouri a se sa:

  • Li eseye ajoute yon kolòn sit ki te rele "Quantité" Et réponses bab PANYÒL: "Non kolòn sa ou te antre nan se deja nan itilize oswa rezève. Chwazi yon lòt non."
  • Li peni moun ki fè pou ajoute li pou yon lòt anviwònman an, ak tou sa fè sa. Se pou sa, "Quantité" se pa yon non rezève.
  • Li eseye jwenn yon ki ekziste kolòn sit ki rele "Quantité" nan koleksyon kote sa. Li pa kapab jwenn li.

Mwen te fè kèk rechèch, e menm kèk codage, polis filozofik e finalman jwenn yon kolòn ki rele Quantité ne, an reyalite, egziste. Se te nan a "_Hidden" gwoup. Rann, nou pat ka jwenn li via entèfas utilisateur SharePoint.

Ki jan li te rive gen mwen? mwen pa konnen, Men, mwen gen yon teori (ou menm jan, madanm mwen ta rele l, "blah blah blah"). Kèk kote nan liy lan, yon modèle karant fabuleux te ajoute, pwobableman actif nan yon kote ki gen nan sit koleksyon. L' lè sa a li te genyen désactivé (ou sit la te retire). Kolòn sit la, Sepandan, te rete men nan a "_Hidden" gwoup. Si yon moun konnen pi byen, Tanpri, kite m' konnen via mel ou pòs li nan kòmantè yo.

SharePoint te di verite a. Li se prèske pa yon valè endike ke mesaj sa pa ke konsèy pou ede jan li ta ka. Li ta bon pou wè sa fouchèt mesaj nan mesaj diferan de yo: 1) Yo di rezève kolòn non ou se pa. 2) Si l' pa rezève, montre sit la, ou pi piti gwoup la, ki kote kolòn non ki deja itilize.

</fen>

La done OM Via yon lis Personnalisé (ou, Encore yon lòt OM done Displayor [tankou YACC, Men diferan])

Jodia, Mwen te pase se yon ti ponyen zèd tan pou desann fè rasin dèyè mesaj "a kolòn non sa ou te antre nan se deja nan itilize oubyen rezève. Chwazi yon lòt non."

Kolòn a nan yon kesyon te kapab kreye, supprimé Et re-te kreye nan yon lòt anviwònman, Se poutèt sa mwen te konnen se pa yon non rezève. Sepandan, Mwen tou senpleman pa t kapab jwenn kolòn a nenpòt kote via la estanda SharePoint utilisateur entèfas nenpòt nan koleksyon direksyon an.

Mwen te poste pou MSDN foròm isit la Et la indomitable Andrew Woodward a m' nan direksyon de objet modèl data.

Mwen t' ap pou codeplex pou jwenn yon zouti sa ta ka ede m' yo gen priyorite nan de done OM Et ede m jwenn à la.

Mwen te eseye plizyè zouti e yo te trè frais Et enteresan men nan tou sa li, UI a pa t bon ase pou m' te vle. Mwen menm ki pa kritike yo pa gen mwayen, Men, clairement konnen si yon moun ki konn fè pa t gen pwoblèm mwen chonje lè yo te kreye UI yo :). Pifò moun sanble ap envèsti yon bèl kantite tan ak efò nan kreye workstation / kliyan an aplikasyon ki bay pyebwa pwen de vi, le kontèks menus, se konsa suite. Sa ki bon ak tout, Men, se yon bann travay pou kreye yon eksperyans kap itilize li an sou tèt-de-a-liy se tou anpil likid.

Mwen vrèman bezwen pou yon repons pou pwoblèm sa a. Li te pase pou m' sa si m te kapab jwenn tout les colonnes kote ki gen nan kote ki gen koleksyon an nan yon lis personnalisé, Mwen te kapab filtre, tri Et kreye pwen de vi, ki ta ka ede m jwenn kolòn sipozeman ki ekziste sa a (sa li te fè, AK). Mwen ale devan ou, yo fè sa yo ak yon inèdtan oswa de pi ta, te gen tout m' kote ki gen colonnes chaje nan yon lis personnalisé ak pwesyonen, tri ak tout suite. Mwen te twouve mwen defann tèt mwen senk minit pita.

Si, lè mwen anpil siksè pran sou mond lan, Mwen panse mwen pral décret ke tout SharePoint zouti bayè dwe seryezman konsidere Lamanten done modèl bagay yo nan yon lis koutim. Konsa, Mwen gen pouvwa pou fè rechèch tout chemen mwen vle (contraintes, Men wi, pa nivo sharepoint fonctionnalités).

Aksyon Personnalisé SharePoint Concepteur Workflow — Obsèvasyon osijè de <Jan de FieldBind Concepteur =”StringBuilder” … />

Jis yon rapide obsèvasyon pou pa gen yon trè enpòtan diferans ant sa yo définitions de:

<Jaden FieldBind = "InParam1" DesignerType = "StringBuilder" Didantite = "2" Tèks = "D' paramètre #1" />

par:

<Jaden FieldBind = "InParam1" Didantite = "2" Tèks = "D' paramètre #1" />

Premye montre kon sa nan pati sosyal Demokratik:

imaj

pandan ke yo montre lèt kon sa:

imaj

I’m not sure how helpful these screen shots are but I put in the effort to make them so you have to view them 🙂

Obsèvasyon a se sa: StringBuilder pèmèt nou pou konstwi yon rale monte nan (Evidamman) pa mélange ansanm chaîne littérales Et workflow done (Via la "ajoute Recherche" bouton nan anba kwen sou bò gòch). Lè ou sèvi ak bouton Recherche ajoute a, fòm li insérer jeton yon"[%senbolik %]". Lè SharePoint appelle ou repòtaj aksyon, (C# kòd nan ka mwen), SharePoint rann jeton tèt li, pa rapòte ou lajan pou jeton a. Si ou konn sèvi ak tip concepteur defo (ki tip dezyèm), SharePoint se jeton a Et rann valè réelle du jeton a pou aksyon ou.

StringBuilder = MOVE, par concepteur tip = byen.

Men wi, sa se pa sa mwen vrèman vle di. Jis pa eseye pase yo ak yon paramètre a aksyon koutim nou lè la fè desen gwoup = StringBuilder. Sèvi ak defo concepteur tip ak chenn, yon StringBuilder pou l' moute devan si ou bezwen pou konstwi konplèks fisèl nan workflow ou (ki par se ekzateman kisa moun ki kreye yon sijè dynamique pou fè kouryèll aksyon an, Men sa se yon sijè pou yon lòt antre blog, har har).

<fin />

Activation Workflow nvan tèm/lè — Yon solisyon ki pa medikal

AJOU: Wè sa a diskite MSDN, sitou a pase antre: http://forums.microsoft.com/MSDN/showpost.aspx?postid=2631057&siteid=1. Li dekri yon kondisyon ki ka izit circuit tout bagay sa a. Nan kout, li kapab senp tankou yo te fè pou pi piti yonn nan jaden obligatoire.

Mwen gen yon dokiman bibliyotèk ki sipòte kalite contenu ywit yo.

Mwen gen yon workflow SharePoint Concepteur ki vle pou yo kalkile Et bay yon "rappel dat" pa senpleman soustrayant 30 jou de yon lòt rèl do, "dat delè". Bagay sa a sèlman ta dwe rive pou yonn nan pi kontan tip, "Asirans". Objèktif biznis la se pou pwodwi yon) ki montre de kategori nan dokiman asirans: "rive pou ekspire" ak "fini." (Ou kapab li plis toujou sou sa a jan de) Et plis salè konsiderab sèvi ak machin-desann Isit).

Mwen te configuré workflow pou tire lè yon nouvo atik te kreye yo ak lè yon atik modifye. Lide a se sa lè yon dokiman asirans chargé, nou kalkile yon "avètisman dat" te baze sou dat ekspirasyon. On pwen de vi travay ba yon lis (soulinye kondisyon sa yo lè nèg paj lakay yo.

Estrateji sa a pa travay lè mwen téléchargement yon dokiman.

Mwen téléchargement dokiman an ak mwen menm ki te pwezante ak a meta done antre twal metalik. Nan pwen sa a, Mwen deja anba tray. SharePoint ki deja, nvan tèm/lè de pèspektiv nan afè m, te tire a workflow. Mwen pa te gen yon chans pou yo chwazi ki kòrèk tip pi kontan ni bay yon dat delè. An menm tan, workflow a pa dife lè m te frape a bouton envoyer nan moman sa a. Se kèk konstriksyon lojik sa "kwè ke" sa soumèt premye se pati de la "kreye" evènman. Se konsa … workflow m' te tire e li lè l' exécution, li te pase defo meta done valè.

A pi bon kalite travay-autour mwen konnen se pou mete yon "pause jiska" aktivite nan workflow a. Mwen gen a workflow jog pou 1 minit. Pandan tout tan li en, Mwen fè chwa ki kòrèk tip contenu, antre done meta ak soumèt. Jog a konplete epi workflow an montan bezwen. (Note ke nan anviwonman mwen, aktivite workflow li tap konometre nan pati sosyal Demokratik ki pa travay nan bwat la. Ou ka gen menm pwoblèm lan. Gade Isit pou plis enfòmasyon).

M pa renmen "majik delè" travay ki alantou. Sa k rive koukouloukou si moun kap itilize li an téléchargements yon dokiman ak tout zanno telefòn ak konvèsasyon qui outlasts la jog? Mwen kapab fè a jog ankò, Men, mwen toujou pa renmen li.

Mwen te ekri apwopo de sa sou foròm MSDN isit la: http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=2430725&SiteID=1