Bonjour,
J'aimerais lier deux gridview au meme datasource.
Dans chacun des gridview, j'affiche en fait des colonnes differentes.
Il faut donc que les 2 gridView se rafraichisse mutuellement lorsque l'un change.
Exemple, je trie sur une colonne dans le GridView1, j'aimerais que mon GridView2 suive pour afficher les bonnes donnees correspondantes aux nouvelles lignes...
Jusqu'ici, j'ai mis sur l'evenement OnSorted du MainGridView ce code :
Le deuxieme GridView change bien mais enfait il refait un bind sur le DataSource, donc le DataSource reexcute ma procedure stockee pour obtenir les informations. Mais les infos vont etre les memes.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 SecondGridView.PageIndex = MainGridView.PageIndex; SecondGridView.Sort(MainGridView.SortExpression, MainGridView.SortDirection); SecondGridView.DataBind();
Cest donc anti-perfomance!
Y a-t-il un moyen de rafraichir le DataSource une seule fois et que les 2 GridView l'utilise ensuite et non que chacun declenche le rafraichissement du DataSource.. ?
Merci
A+
PS: j'ai fais des recherches et je voulais utiliser un DataSource au lieu du DataSourceID de cette facon:
De ce fait, je pensais lier qu'une seule fois le DataSource et ensuite pouvoir l'utiliser avec differents GridView mais mon GridView est vide donc c'est comme si le Select() renvoie rien... pourquoi ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 MainGridView.DataSource = MonDataSource.Select(); MainGridView.DataBind();
Si je mets DataSourceID = "MonDataSource" ca marche pourtant... donc les donnees sont bien la non ?
Partager