CONSTRUCTION DE SELECTCOMMAND

khalil86 Messages postés 2 Date d'inscription dimanche 19 mars 2006 Statut Membre Dernière intervention 25 mars 2006 - 25 mars 2006 à 11:17
Barnside Messages postés 4 Date d'inscription vendredi 6 juillet 2012 Statut Membre Dernière intervention 16 septembre 2012 - 16 sept. 2012 à 12:02
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/36050-construction-de-selectcommand

Barnside Messages postés 4 Date d'inscription vendredi 6 juillet 2012 Statut Membre Dernière intervention 16 septembre 2012
16 sept. 2012 à 12:02
Salut io_ost,

Un grand grand merci à toi !!!!

Je galérais depuis des jours sur un sortexpression et j'ai finalement opté pour ta solution que j'ai adaptée pour faire mes prix. Je me passe donc de tout le bazar des onsorting de mon gridview GV1 rempli à base de TeMplatefields avec UNE accessdatasource RESULTSwADS définie en behind VB. Voilà pour le bavardage :-)

Au cas où cela pourrait aider quelqu'un débutant comme moi, voici mon code :

BEHIND

Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) Handles Me.Load

' j'arrive sur la page avec un querystring depuis une autre page que je récupère dans un textbox. Optionnel, mais bon.
SECTEURSwL.Text = Request.QueryString("SECTEURS")

' je définis ma ds
RESULTSwADS.DataFile = "~/bdd.accdb"

' je balance une selectcommand partielle... La suite vient après
Dim hop As String = "SELECT * FROM [ReqPROGRAMMES] WHERE [SECTEURS]=? AND [Prix]>=? AND [Prix]<=? AND [SURFACE]>=? AND [SURFACE]<=?"
RESULTSwADS.SelectParameters.Add("SECTEURS", SECTEURSwL.Text)
RESULTSwADS.SelectParameters.Add("Prix", PRIXMINwDDL.SelectedValue)
RESULTSwADS.SelectParameters.Add("Prix", PRIXMAXwDDL.SelectedValue)
RESULTSwADS.SelectParameters.Add("SURFACE", SURFACEMINwDDL.SelectedValue)
RESULTSwADS.SelectParameters.Add("SURFACE", SURFACEMAXwDDL.SelectedValue)
RESULTSwADS.SelectParameters.Add("Region", REGIONwDDL.SelectedValue)
RESULTSwADS.SelectParameters.Add("Departement", DEPARTEMENTwDDL.SelectedValue)

' et là, hop, les filtres à base de dropdownlist (avec autopostback=true)
' un 1er
If REGIONwDDL.SelectedValue <> "-" Then
hop = hop & " AND [Region]=?"
End If

' puis un 2ème
If DEPARTEMENTwDDL.SelectedValue <> "-" Then
hop = hop & "AND [Departement]=?"
End If

' puis 2 DDL de tri + 2 DDL de sortdirection (croissant décroissant) pour la partie "ORDER BY" de la Selectcommand
hop = hop & "ORDER BY [" & SORTDDL.SelectedValue & "]" & CROISSANTwDDL.SelectedValue & ", [" & SORTDDL2.SelectedValue & "]" & CROISSANTwDDL2.SelectedValue & ""

' là, j'associe la selectcommand à la datasource
RESULTSwADS.SelectCommand = hop

' j'en profite pour définir quelques paramètres du Gridview GV1.
GV1.AllowSorting = True
Page.Controls.Add(RESULTSwADS)
GV1.PageSize = 10
GV1.PagerSettings.Visible = False
GV1.DataSource = RESULTSwADS
GV1.AutoGenerateColumns = False
GV1.GridLines = GridLines.None
GV1.PageSize = PAGEwDDL.SelectedValue

GV1.AllowPaging = True
GV1.AllowSorting = True
GV1.PagerSettings.Visible = True

GV1.PagerStyle.HorizontalAlign = HorizontalAlign.Right
GV1.PagerSettings.Mode = PagerButtons.NumericFirstLast
GV1.PagerSettings.Position = PagerPosition.TopAndBottom
GV1.PagerStyle.CssClass = "BLEU11"
GV1.ShowHeader = False
GV1.EmptyDataText = "Saisissez vos critères à l'aide du moteur de recherche"
GV1.EmptyDataRowStyle.CssClass = "GRISSOMBRE10"
GV1.CellPadding = 5
GV1.CellSpacing = 10
GV1.BorderColor = Drawing.Color.Transparent
GV1.BorderWidth = 0
GV1.PageIndex = 0
GV1.DataBind()
End Sub

Et bing ! ça cartonne !!!!!!!!

Bon courage à tous et merci
saphir54321 Messages postés 28 Date d'inscription mardi 3 octobre 2006 Statut Membre Dernière intervention 14 novembre 2007
25 avril 2007 à 22:51
Merci ton code m'a aidé pour un problème que j'avais et dont je ne trouvais pas de solution.
khalil86 Messages postés 2 Date d'inscription dimanche 19 mars 2006 Statut Membre Dernière intervention 25 mars 2006
25 mars 2006 à 11:17
merci pour le code ca ma bien aidé
Rejoignez-nous