-
-
Bonjour,
Je souhaiterais effectuer un filtrage sur une inclusion multiple selon plusieurs critères (date de début, date de fin, intervenant, état de validation de la fiche, score ou autres champs propres à la fiche…). L’objectif est de n’afficher que les lignes de l’inclusion multiple qui correspondent au tri appliqué (au moyen de plusieurs champs remplis au préalable). L’inclusion liste les différentes fiches saisies pour un formulaire donné.
Par ailleurs, il peut y avoir plusieurs inclusions multiples qui affichent des fiches différentes.
A savoir qu’il doit toujours être possible de visualiser toutes les lignes de l’inclusion.Avez-vous une méthode à préconiser pour effectuer un tel traitement ou des conseils particuliers ?
Merci d’avance.
-
Bonjour,
Pour effectuer un filtrage vous pouvez utiliser l’objet condition sur VisualStudio.
Avec plusieurs critères, il faut créer une liste de conditions et utiliser cette liste dans la requête SelectForms.Exemple avec date de début :
1) List<Condition> listCondition = new List<Condition>();
2) if (date_debut != null && date_debut.HasValue)
listCondition.Add(new GreaterThanOrEqualCondition(new FormItemFieldExpression(FormItemField.DateFonctionnelle), new DateExpression(date_debut.Value)));
3) fiches = ModuleAPI.DominhoService.SelectForms<Formulaire>(condition, …)Pour voir toutes les lignes de l’inclusion, il faudra enlever tous les filtres et donc les conditions seront nulles.
Cordialement,
Thibault Dornon
-
Bonjour,
Je vous remercie de votre réponse.
Sujet résolu. -
Bonjour,
Je rouvre ce sujet afin d’exposer le problème suivant.
Comment peut-on filtrer à partir d’un champ se situant dans une inclusion, sachant que les inclusions ne sont pas disponibles à partir d’un objet Condition.
D’autre part, il ne semble pas possible de passer une liste de Condition en paramètre de la méthode SelectForms().Existe-t-il un moyen simple de procéder ?
-
Bonjour,
Pour filtrer, votre inclusion multiple il faudra utiliser les méthodes Linq pour ne garder que les informations voulues.
Par exemple :
var elementsInclFiltres = this.inclusion_multiples.Items.Where(x => x.nom.value == this.filtre_nom.value);L’exemple ci-dessous vous permets de récupérer les éléments qui ont la propriété “nom” égale à la propriété “filtre_nom”.
Avant ça vous devez faire un Clear() sur les Items de l’inclusion et après avoir récupérer les informations filtrées, les réassigner à l’inclusion multiple.Si vous avez besoin de précision, n’hésitez pas.
Joffrey
-
Bonjour,
Nous avons essayé votre méthode. Cependant, lorsqu’un filtre est appliqué, l’inclusion reste vide.
A toutes fins utiles, je vous joins le code de ma fonction en pièce-jointe.
Merci d’avance.
fichiers attachés:
You must be logged in to view attached files.
-
The forum ‘Aide aux développements avec FormsStudio’ is closed to new topics and replies.