Salut à tous :)
Je développe en Asp.net 2.0 et j'utilise le nouveau control GridView... C'est qu'il est quand même super bien ce controle, surtout quand on lui attribut une source comme l'ObjectDataSource... mais voilà ....
L'objectdatasource propose un max de fonctionnalité, mais je n'arrive pas à faire une requete SQL customisé pour faire une recherche.
Je m'explique. L'objectdatasource permet de lui assigner une "Select Method" ... mais dans ma page, j'ai un bloc html pour faire une recherche selon des critères proposés (la plupart du temps, dans une dropdown list). Mais voilà... la Select Method ne prend pas de paramètre donc impossible d'utiliser la méthode choisie pour faire un Select et un search ...
Alors je tente de passer par les FilterExpressions, mais c'est la galère je trouve, car faut produire tout un mécanisme de construction de la FilterExpression selon les critères, et surtout... ça n'empêche pas la requête SQL de prendre toute les infos et pas seulement celle dont j'ai besoin... Car on voit pas la différence avec peu de lignes, mais quand on arrive avec quelques dizaines de milliers de lignes, c'est couteux en temps et performance de faire un tri sur tout ...
Du coup, j'ai laissé tombé les FilterExpressions (enfin, j'ai mis de coté ^^) et je pensais binder à la main mon GridView.
Du style:
List<ma_class> collection = ma_class_collection.GetSearch(ici, les paramètres);
this.GridView1.DataSource = collection;
this.GridView1.DataSourceID = null;
this.GridView1.DataBind();
Mais le hic, c'est que du coup, les CommandField ne marche plus. Je ne peux plus éditer mes lignes...
Bref, comment faire pour permettre une recherche selon des critères indéterminés à l'avance ?
Faut-il utiliser les FilterExpressions ? Si oui, comment ?
Dois-je continuer avec le fait de switcher les sources pour mon GridView ?
Bref, merci d'avance à ceux qui pourront m'aider :D
--
hu? ^^