Comment filtrer mon dataset avant de l'envoyerà Crystal Report ?
1 réponse
Herve MAILLARD
Bonjour,
Voilà mon pb: J'ai un dataset qui est remplit à partir d'un fichier XML.
J'utilise ensuite se dataset pour afficher des données que l'utilisateur
peut filtrer.
Je souhaite ensuite imprimer une "fiche"contenant les données filtrées et
pas l'ensemble des données comme je le fait pour l'instant.
Pour afficher les données filtrer j'utilise un Dataview mais pour Crystal
Report, la source de données ne peut être que Dataset (à priori).
Comment faire ? Faut t'il créer un nouveau dataset avec seulement mes
données filtrées (si oui comment ?)
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Bonjour,
de mon expérience personnelle voilà comment je fais ce genre de manip
je crée une procédure stockée qui prend les critères de filtre les applique et me renvoi un dataset
je passe ce dataset en setdatasource du report puis je donne le report à afficher au crystal viewer par extension on peut considérer qu'un dataset filtré devrait fonctionner
le problème étant qu'un select sur une table d'un dataset renvoi forcément un tableau de datarow donc il faut évidement remanipuler pour recréer un dataset
l'autre souci est que le report ne prend qu'un dataset donc la table a le même nom que celui utilisé lors de la création du report donc même sur le dataset d'origine il faut donner un nom à la table
ex
public DataSet GetDataGlobale() { DataSet monds=new DataSet();
pour éviter de m'embêter avec le report je crée un vue qui renvoi les même colonne que ma proc stock de filtre (sans les paramètre ni les clauses where) ensuite dans visual studio je crée un nouveau fichier de dataset puis je glisse et dépose ma vue sur le concepteur bien sur la table crée porte le nom de la vue ici MaTable ensuite je crée le report et dans le code il me reste plus qu'a faire
Après concernant le filtre sur le dataset il faudrait rechercher quelque chose comme
int i
MondsÚtaSetSource.clone(); //récupère le schéma
MonDS.MaTable.rows.add(DataSetSource.MaTable.Select("id_client="+i)); // ajoute les datarow renvoyé par le select dans le ds devant contenir le résultat
Voilà mais le select n'est pas évident à faire fonctionner donc perso j'ai opté pour la procédure stockée qui me parait plus souple
Sebastien
"Herve MAILLARD" a écrit dans le message de news:40eaa8db$0$13897$
Bonjour,
Voilà mon pb: J'ai un dataset qui est remplit à partir d'un fichier XML. J'utilise ensuite se dataset pour afficher des données que l'utilisateur peut filtrer. Je souhaite ensuite imprimer une "fiche"contenant les données filtrées et pas l'ensemble des données comme je le fait pour l'instant.
Pour afficher les données filtrer j'utilise un Dataview mais pour Crystal Report, la source de données ne peut être que Dataset (à priori). Comment faire ? Faut t'il créer un nouveau dataset avec seulement mes données filtrées (si oui comment ?)
Merci de votre aide,
Je galère....
H. MAILLARD
Bonjour,
de mon expérience personnelle voilà comment je fais ce genre de manip
je crée une procédure stockée qui prend les critères de filtre les applique
et me renvoi un dataset
je passe ce dataset en setdatasource du report puis je donne le report à
afficher au crystal viewer par extension on peut considérer qu'un dataset
filtré devrait fonctionner
le problème étant qu'un select sur une table d'un dataset renvoi forcément
un tableau de datarow donc il faut évidement remanipuler pour recréer un
dataset
l'autre souci est que le report ne prend qu'un dataset donc la table a le
même nom que celui utilisé lors de la création du report donc même sur le
dataset d'origine il faut donner un nom à la table
ex
public DataSet GetDataGlobale()
{
DataSet monds=new DataSet();
pour éviter de m'embêter avec le report je crée un vue qui renvoi les même
colonne que ma proc stock de filtre (sans les paramètre ni les clauses
where) ensuite dans visual studio je crée un nouveau fichier de dataset puis
je glisse et dépose ma vue sur le concepteur bien sur la table crée porte le
nom de la vue ici MaTable ensuite je crée le report et dans le code il me
reste plus qu'a faire
Après concernant le filtre sur le dataset il faudrait rechercher quelque
chose comme
int i
MondsÚtaSetSource.clone(); //récupère le schéma
MonDS.MaTable.rows.add(DataSetSource.MaTable.Select("id_client="+i)); //
ajoute les datarow renvoyé par le select dans le ds devant contenir le
résultat
Voilà mais le select n'est pas évident à faire fonctionner donc perso j'ai
opté pour la procédure stockée qui me parait plus souple
Sebastien
"Herve MAILLARD" <rvmaillard@free.fr> a écrit dans le message de
news:40eaa8db$0$13897$626a14ce@news.free.fr...
Bonjour,
Voilà mon pb: J'ai un dataset qui est remplit à partir d'un fichier XML.
J'utilise ensuite se dataset pour afficher des données que l'utilisateur
peut filtrer.
Je souhaite ensuite imprimer une "fiche"contenant les données filtrées et
pas l'ensemble des données comme je le fait pour l'instant.
Pour afficher les données filtrer j'utilise un Dataview mais pour Crystal
Report, la source de données ne peut être que Dataset (à priori).
Comment faire ? Faut t'il créer un nouveau dataset avec seulement mes
données filtrées (si oui comment ?)
de mon expérience personnelle voilà comment je fais ce genre de manip
je crée une procédure stockée qui prend les critères de filtre les applique et me renvoi un dataset
je passe ce dataset en setdatasource du report puis je donne le report à afficher au crystal viewer par extension on peut considérer qu'un dataset filtré devrait fonctionner
le problème étant qu'un select sur une table d'un dataset renvoi forcément un tableau de datarow donc il faut évidement remanipuler pour recréer un dataset
l'autre souci est que le report ne prend qu'un dataset donc la table a le même nom que celui utilisé lors de la création du report donc même sur le dataset d'origine il faut donner un nom à la table
ex
public DataSet GetDataGlobale() { DataSet monds=new DataSet();
pour éviter de m'embêter avec le report je crée un vue qui renvoi les même colonne que ma proc stock de filtre (sans les paramètre ni les clauses where) ensuite dans visual studio je crée un nouveau fichier de dataset puis je glisse et dépose ma vue sur le concepteur bien sur la table crée porte le nom de la vue ici MaTable ensuite je crée le report et dans le code il me reste plus qu'a faire
Après concernant le filtre sur le dataset il faudrait rechercher quelque chose comme
int i
MondsÚtaSetSource.clone(); //récupère le schéma
MonDS.MaTable.rows.add(DataSetSource.MaTable.Select("id_client="+i)); // ajoute les datarow renvoyé par le select dans le ds devant contenir le résultat
Voilà mais le select n'est pas évident à faire fonctionner donc perso j'ai opté pour la procédure stockée qui me parait plus souple
Sebastien
"Herve MAILLARD" a écrit dans le message de news:40eaa8db$0$13897$
Bonjour,
Voilà mon pb: J'ai un dataset qui est remplit à partir d'un fichier XML. J'utilise ensuite se dataset pour afficher des données que l'utilisateur peut filtrer. Je souhaite ensuite imprimer une "fiche"contenant les données filtrées et pas l'ensemble des données comme je le fait pour l'instant.
Pour afficher les données filtrer j'utilise un Dataview mais pour Crystal Report, la source de données ne peut être que Dataset (à priori). Comment faire ? Faut t'il créer un nouveau dataset avec seulement mes données filtrées (si oui comment ?)