khalil86
Messages postés2Date d'inscriptiondimanche 19 mars 2006StatutMembreDernière intervention25 mars 2006
-
25 mars 2006 à 11:17
Barnside
Messages postés4Date d'inscriptionvendredi 6 juillet 2012StatutMembreDernière intervention16 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.
Barnside
Messages postés4Date d'inscriptionvendredi 6 juillet 2012StatutMembreDernière intervention16 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
16 sept. 2012 à 12:02
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
25 avril 2007 à 22:51
25 mars 2006 à 11:17