none
[Sharepoint Designer] Problème Critère de filtre XSLT RRS feed

  • Question

  • Bonjour,

    Pour un webpart de bibliothèque, je dois filtrer les éléments pour l'utilisateur.
    Dans Sharepoint designer, en plus du filtre que j'ai déjà mis (via le webpart en XSL) je dois pouvoir filtrer un champ sur une liste de possibilité (nomalement dans une ArrayList)!

    Je ne vois pas comment faire.

    J'avais pensé faire "monChamp" peut avoir les valeurs "U1-U2-U3"(liste des valeurs possibles séparées par des '-')!
    Mais bon cette option n'existe pas :x

    Merci d'avance.
    • Modifié OminiuS vendredi 4 décembre 2009 08:59
    lundi 30 novembre 2009 14:07

Réponses

  • Alors, j'ai essayé de récupérer ma chaine de trie en XSLT via un paramètre "Chaine de recherche" que j'ai ajouté afin de récupérer directement dans l'url les champs sur lequel je dois trier!

    Voici mon URL http:/MONSITE/Structure/MAG_CG.aspx?traitementSite=true&ListUC=UC037-UC027-UC113-UC057-UC054

    Mon paramètre est ListUC, en XSL ça donne :
    <ParameterBindings>
    	<ParameterBinding etc...>
    	<ParameterBinding Name="ListUC" Location="QueryString(ListUC)" DefaultValue=""/>
    </ParameterBindings>
    
    et dans <xsl:stylesheet>
    <xsl:param name="ListUC" />
    
    Dans mon filtre de trie, je coche "Ajouter un filtre XSLT" et j'ai mis [contains($ListUC, @UC0)] où $ListUC correspond a mon paramètre XSLT ci dessus et @UC0 correspond à la valeur UC0xx (une seule) que je peux trouver dans mes colonnes.

    J'obtiens sous SharePoint Designer l'erreur suivante :

    Echec de la définition de la feuille de style du processeur 0x80005004
    Impossible de résoudre une référence à une variable ou paramètre dvt_HideGroupDetail
    La variable ou le paramètre ne sont peut être pas définis ou sont absent de la portée

    Je ne comprend pas pourquoi!

    Merci d'avance.
    • Marqué comme réponse OminiuS vendredi 4 décembre 2009 13:39
    vendredi 4 décembre 2009 09:07

Toutes les réponses

  • Bonsoir,
    J'ai moi aussi un probleme sur le filtrage dans une liste. J'aimerais filtrer sur plusieurs colonnes et cumuler les filtre comme les filtres sharepoint de base.
    Néanmoins, je me suis penché sur une solution qui peut etre pour toi te convriendrais mais avec laquelle on ne peut pas filtrer sur plusieurs criteres.
    Par contre elle accepte de filtrer sur une partie d'un mot simplement.

    Il faut utiliser la propriété FilterName= le nom interne de ta colonne et FilterMultiValue= le mot à rechercher
    Ces propriétés viennent complété l'url en cours pour effectuer les filtres. On auras ainsi par exemple :

    blablaurl.aspx?FilterName=Title&FilterMultiValue=*test*

    Pour ma part j'avais réaliser cela via le javascript et un formulaire html dans une web part editeur de contenu.

    J'en profite pour demander si quelqu'un connais une méthode de filtrage sur plusieurs critères et qui peut se faire sur une partie du mot..
    lundi 30 novembre 2009 16:51
  • Bonjour,

    J'aurais tendance à dire que pour effectuer ceci, il faudrait :
    1. utiliser un webpart de filtre (disponible dans la version enterprise de moss 2007) :
    http://msdn.microsoft.com/en-us/library/ms494838.aspx

    2. utiliser un webpart gratuit ou payant permettant d'effectuer ceci
    ex : http://www.codeplex.com/DropdownSharePoint (à tester en environnement de développement)
    (et http://bilbroblog.com/sharepoint/dropdown-list-box-filter-web-part-in-sharepoint-ndash-part-one/)

    3. ou développer un webpart de filtre qui fournit l'information au webpart consommateur que vous êtes en train de faire
    http://msdn.microsoft.com/en-us/library/bb457205.aspx

    Pierre Vivier-Merle - MVP MOSS 2007 - http://blogs.developpeur.org/pierre
    mardi 1 décembre 2009 23:06
  • Bonjour,
    heu j'ai l'impression que ces méthodes ne correspondent pas à ce que je veux, c-a-d une filtrage sur une partie du mot via des textbox et pouvoir cumuler plusieurs filtres l'un apres l'autre.
    Mais peu etre que ominius sera rassasié :p

    Pour ma part, je tente une technique plutot complexe et je me demande si j'arriverais a faire quelque chose la dessus..
    mercredi 2 décembre 2009 08:03
  • Bonjour,

    je résume un peu comment quel est le comportement que je cherche :
    J'ai un utilisateur qui est affecté a plusieurs UC : UC001, UC005, UC036 etccc
    les documents qui sont affecté a un et un seul UC.

    Donc je veux voir toutes les fiches de l'utilisateur correspondants à ses UC!

    Merci d'avance.
    mercredi 2 décembre 2009 08:38
  • Bonjour,

    Je n'arrive pas à cerner ton probleme.. mais j'ai aujourd'hui trouvé un code qui m'a beaucoup plus!
    peu etre que tu pourras y trouver ton bonheur comme moi..

    http://instantlistfilter.codeplex.com/
    mercredi 2 décembre 2009 14:23
  • Merci HeB91, mais ce n'est pas ce que je veux!

    Une solution, je pense serai de faire une boucle sur ma requete CAML du SharePoint:SPDataSource SelectCommand

    Il me fat reprendre la requete du SelectCommand et la completer par des
    	    <Or>
                   <Eq>
                      <FieldRef Name='UC' />
                      <Value Type='Computed'>UC037</Value>
                   </Eq>
                   < Eq >
                      <FieldRef Name='UC' />
                      <Value Type='Choice'>UC001</Value>
                   </Eq >
                </Or>
    Que je ferai boucler dans ma page SharePoint .aspx.

    Est-ce possible?
    Y a-t'il une autre solution?

    Merci d'avance
    mercredi 2 décembre 2009 15:58
  • Je pense que c'est réalisable en XSLT, mais pareil, je ne sais pas comment! :x
    mercredi 2 décembre 2009 17:12
  • Ok, bon ben voila on m'avais passé ce lien sur un autre forum. peu etre il te servira plus qu'à moi!

    http://blogs.msdn.com/sharepointdesigner/archive/2008/02/25/filtering-and-formatting-with-date-values.aspx#cond_fmt_calc_field

    jeudi 3 décembre 2009 09:34
  • Merci, mais non!

    pour l'instant j'essaie tant bien que mal à refaire ma requête dans une balise <Script> de ma page aspx, mais je n'arrive pas a alimenter le SelectCommand de mon <SharePoint:SPDataSource> en utilisant son ID et le <%= %>

    Des idées pour parvenir a n'importe quel moyen a ma solution?
    jeudi 3 décembre 2009 15:37
  • Alors, j'ai essayé de récupérer ma chaine de trie en XSLT via un paramètre "Chaine de recherche" que j'ai ajouté afin de récupérer directement dans l'url les champs sur lequel je dois trier!

    Voici mon URL http:/MONSITE/Structure/MAG_CG.aspx?traitementSite=true&ListUC=UC037-UC027-UC113-UC057-UC054

    Mon paramètre est ListUC, en XSL ça donne :
    <ParameterBindings>
    	<ParameterBinding etc...>
    	<ParameterBinding Name="ListUC" Location="QueryString(ListUC)" DefaultValue=""/>
    </ParameterBindings>
    
    et dans <xsl:stylesheet>
    <xsl:param name="ListUC" />
    
    Dans mon filtre de trie, je coche "Ajouter un filtre XSLT" et j'ai mis [contains($ListUC, @UC0)] où $ListUC correspond a mon paramètre XSLT ci dessus et @UC0 correspond à la valeur UC0xx (une seule) que je peux trouver dans mes colonnes.

    J'obtiens sous SharePoint Designer l'erreur suivante :

    Echec de la définition de la feuille de style du processeur 0x80005004
    Impossible de résoudre une référence à une variable ou paramètre dvt_HideGroupDetail
    La variable ou le paramètre ne sont peut être pas définis ou sont absent de la portée

    Je ne comprend pas pourquoi!

    Merci d'avance.
    • Marqué comme réponse OminiuS vendredi 4 décembre 2009 13:39
    vendredi 4 décembre 2009 09:07
  • Et bien en fait ma méthode ci-dessus fonctionne, les webparts devaient être vérolés!

    Merci de votre aide!
    vendredi 4 décembre 2009 13:39