Passage des paramètres entre les webparts

Le
Thomas
Bonjour,

J'ai un problème suivant et depuis un moment je ne trouve pas de solution
pour le resoudre. Sur une page j'ai 2 webparts, la première est un filtre
(avec des DropDownLists) et la deuxième contient une SPGridView qui affiche
de données chargées à partir de la base SQL.
Le chargement de données dans la 2 webpart se fait de la manière suivante:

1. Dans CreateChildControls je crée un ObjectDataSource avec une methode
Select. Je le lie ensuite à SPGridView.

Jusqu'à là tout fonctionne correctement. Maintenant je voudrais que les
paramètres choisis dans le filtre de la première webpart filtre les données
dans la 2ème WebPart. Pour cela j'ai crée sur la première webpart une
methode connexion provider et sur la deuxième une methode connexion
consumer. Le passage de paramètres se fait correctement dans la mesureoù
j'arrive dans l'évenement onPreRender à afficher les paramètres reçus de la
première webpart. Le problème est le suivant. J'ai l'impression que la
SelectMethod du ObjectDataSource est juste exécutée une fois à la liasion de
ObjectDataSource avec le SPGridView. Quand je séléctionne des valeurs dans
la première WebPart ça n'a aucune influence sur la liste affichée dans la
deuxième webpart car la liasion de données avec object datasource est faite
est la réquète avec les nouveaux paramètres n'est pas relancée. Comment
résoudre ce problème ?

Merci d'avance,

Thomas
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Renaud Comte aka TheMit [MVP]
Le #17005801
Bonjour

Problème classique de suivie des evenements :)

Mais rien de grave
le soucis vient que l'element databind survient plus tot que PreRender.
Donc votre gridview se charge avec l'object datasource que vous lui avez
donné







Le prerender est donc trop tard.

il suffit donc de changer 2,3 points

* ne pas utiliser le datasourceId de votre gridview qui lit le control avec
l'objectdatasource
* utiliser directement datasource et databind dans le prerender

et voila :)

--
Renaud Comte [MVP] aka TheMit
Blog Fr : http://blogs.developpeur.org/themit/
Blog Us : http://blog.spsclerics.com/

"Thomas" news:
Bonjour,

J'ai un problème suivant et depuis un moment je ne trouve pas de solution
pour le resoudre. Sur une page j'ai 2 webparts, la première est un filtre
(avec des DropDownLists) et la deuxième contient une SPGridView qui
affiche de données chargées à partir de la base SQL.
Le chargement de données dans la 2 webpart se fait de la manière suivante:

1. Dans CreateChildControls je crée un ObjectDataSource avec une methode
Select. Je le lie ensuite à SPGridView.

Jusqu'à là tout fonctionne correctement. Maintenant je voudrais que les
paramètres choisis dans le filtre de la première webpart filtre les
données dans la 2ème WebPart. Pour cela j'ai crée sur la première webpart
une methode connexion provider et sur la deuxième une methode connexion
consumer. Le passage de paramètres se fait correctement dans la mesureoù
j'arrive dans l'évenement onPreRender à afficher les paramètres reçus de
la première webpart. Le problème est le suivant. J'ai l'impression que la
SelectMethod du ObjectDataSource est juste exécutée une fois à la liasion
de ObjectDataSource avec le SPGridView. Quand je séléctionne des valeurs
dans la première WebPart ça n'a aucune influence sur la liste affichée
dans la deuxième webpart car la liasion de données avec object datasource
est faite est la réquète avec les nouveaux paramètres n'est pas relancée.
Comment résoudre ce problème ?

Merci d'avance,

Thomas


Thomas
Le #17005701
Bonjour,

Merci pour voter réponse. En fait j'utilise DatasourceId car cela permet de
beneficier du tri et des filtres automatiques qu'offre ObjectDataSource. Si
j'utilise le DataSource + Databind() je perds cette possibilité et dois
gerer tout manuellement. Donc d'après ce que je comprends il n'y a pas de
solution qui permet de le faire facilement ?

Merci,

Thomas


"Renaud Comte aka TheMit [MVP]" de news:
Bonjour

Problème classique de suivie des evenements :)

Mais rien de grave
le soucis vient que l'element databind survient plus tot que PreRender.
Donc votre gridview se charge avec l'object datasource que vous lui
avez donné







Le prerender est donc trop tard.

il suffit donc de changer 2,3 points

* ne pas utiliser le datasourceId de votre gridview qui lit le control
avec l'objectdatasource
* utiliser directement datasource et databind dans le prerender

et voila :)

--
Renaud Comte [MVP] aka TheMit
Blog Fr : http://blogs.developpeur.org/themit/
Blog Us : http://blog.spsclerics.com/

"Thomas" news:
Bonjour,

J'ai un problème suivant et depuis un moment je ne trouve pas de solution
pour le resoudre. Sur une page j'ai 2 webparts, la première est un filtre
(avec des DropDownLists) et la deuxième contient une SPGridView qui
affiche de données chargées à partir de la base SQL.
Le chargement de données dans la 2 webpart se fait de la manière
suivante:

1. Dans CreateChildControls je crée un ObjectDataSource avec une methode
Select. Je le lie ensuite à SPGridView.

Jusqu'à là tout fonctionne correctement. Maintenant je voudrais que les
paramètres choisis dans le filtre de la première webpart filtre les
données dans la 2ème WebPart. Pour cela j'ai crée sur la première webpart
une methode connexion provider et sur la deuxième une methode connexion
consumer. Le passage de paramètres se fait correctement dans la mesureoù
j'arrive dans l'évenement onPreRender à afficher les paramètres reçus de
la première webpart. Le problème est le suivant. J'ai l'impression que la
SelectMethod du ObjectDataSource est juste exécutée une fois à la liasion
de ObjectDataSource avec le SPGridView. Quand je séléctionne des valeurs
dans la première WebPart ça n'a aucune influence sur la liste affichée
dans la deuxième webpart car la liasion de données avec object datasource
est faite est la réquète avec les nouveaux paramètres n'est pas relancée.
Comment résoudre ce problème ?

Merci d'avance,

Thomas





Renaud Comte aka TheMit [MVP]
Le #17002021
A voir si reaffecter le datasource au moment du prerender , limite a forcer
un databind peut contourner le probléme

--
Renaud Comte [MVP] aka TheMit
Blog Fr : http://blogs.developpeur.org/themit/
Blog Us : http://blog.spsclerics.com/

"Thomas" news:
Bonjour,

Merci pour voter réponse. En fait j'utilise DatasourceId car cela permet
de beneficier du tri et des filtres automatiques qu'offre
ObjectDataSource. Si j'utilise le DataSource + Databind() je perds cette
possibilité et dois gerer tout manuellement. Donc d'après ce que je
comprends il n'y a pas de solution qui permet de le faire facilement ?

Merci,

Thomas


"Renaud Comte aka TheMit [MVP]" message de news:
Bonjour

Problème classique de suivie des evenements :)

Mais rien de grave
le soucis vient que l'element databind survient plus tot que
PreRender. Donc votre gridview se charge avec l'object datasource que
vous lui avez donné







Le prerender est donc trop tard.

il suffit donc de changer 2,3 points

* ne pas utiliser le datasourceId de votre gridview qui lit le control
avec l'objectdatasource
* utiliser directement datasource et databind dans le prerender

et voila :)

--
Renaud Comte [MVP] aka TheMit
Blog Fr : http://blogs.developpeur.org/themit/
Blog Us : http://blog.spsclerics.com/

"Thomas" news:
Bonjour,

J'ai un problème suivant et depuis un moment je ne trouve pas de
solution pour le resoudre. Sur une page j'ai 2 webparts, la première est
un filtre (avec des DropDownLists) et la deuxième contient une
SPGridView qui affiche de données chargées à partir de la base SQL.
Le chargement de données dans la 2 webpart se fait de la manière
suivante:

1. Dans CreateChildControls je crée un ObjectDataSource avec une methode
Select. Je le lie ensuite à SPGridView.

Jusqu'à là tout fonctionne correctement. Maintenant je voudrais que les
paramètres choisis dans le filtre de la première webpart filtre les
données dans la 2ème WebPart. Pour cela j'ai crée sur la première
webpart une methode connexion provider et sur la deuxième une methode
connexion consumer. Le passage de paramètres se fait correctement dans
la mesureoù j'arrive dans l'évenement onPreRender à afficher les
paramètres reçus de la première webpart. Le problème est le suivant.
J'ai l'impression que la SelectMethod du ObjectDataSource est juste
exécutée une fois à la liasion de ObjectDataSource avec le SPGridView.
Quand je séléctionne des valeurs dans la première WebPart ça n'a aucune
influence sur la liste affichée dans la deuxième webpart car la liasion
de données avec object datasource est faite est la réquète avec les
nouveaux paramètres n'est pas relancée. Comment résoudre ce problème ?

Merci d'avance,

Thomas








Publicité
Poster une réponse
Anonyme