IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Forms Discussion :

sélection plusieurs éléments CheckedListBox pour trier avec dataview


Sujet :

Windows Forms

  1. #1
    Membre à l'essai
    Inscrit en
    Février 2009
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 31
    Points : 10
    Points
    10
    Par défaut sélection plusieurs éléments CheckedListBox pour trier avec dataview
    Bonjour à toutes et à tous!

    je suis au bout du rouleau à cause d'un pauvre petit problème!!

    je m'explique:

    j'ai un checkedlisbox contenant plusieurs éléments et lorsque j'en sélectionne plusieurs je veux avoir un datagrid ayant comme champs seuls ceux égaux à ceux cocher dans la checkedlistbox...
    Or, cela ne m'affiche que le dernier élément sélectionné...Bizzar....

    Voila mon bout de code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    oDataview.RowFilter = "XBQABR_0 = '" & ReportAutoGrpBq.CheckedListBoxGrp.SelectedItem & "'"
    Et j'ai le même résultat lorsque j'essay de le faire directement dans la requête :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     Dim oAdapt As New OracleDataAdapter("SELECT XBQABR_0, XCODBANK_0, XBQNAM_0, XCODPRO_0, CLIP.XDOSCLI.XCOMDAT_0, CLIP.XDOSCLI.XDCNUM_0, CLIP.XDOSCLI2.XRECT1_0, CLIP.XDOSCLI2.XRECT2_0, CLIP.XDOSCLI2.XRECT3_0, CLIP.XDOSCLI2.XRECT4_0, CLIP.XDOSCLI2.XRECT5_0, CLIP.XDOSCLI2.XRECT6_0, CLIP.XDOSCLI2.XVERS1_0, CLIP.XDOSCLI2.XVERS2_0, CLIP.XDOSCLI2.XFONDCHQ_0, " & _
                "XREFCLI_0, XDLIVDEM_0, DLVDAT_0, XBATDRET_0, SHIDAT_0, XQTEDEM_0, (QTY_0 * 1000) AS QTY_0, cast(XMONTANT_0 As Decimal (15,2)) As XMONTANT_0, NETWEI_0, CLIP.SDELIVERY.SDHNUM_0 FROM CLIP.XBANQUE, CLIP.SDELIVERY, CLIP.SINVOICED, CLIP.XDOSCLI, CLIP.XDOSCLI2 " & _
                "WHERE CLIP.XBANQUE.XBQNUM_0=CLIP.SDELIVERY.XBQNUM_0 " & _
                "AND CLIP.SDELIVERY.XDCNUM_0=CLIP.XDOSCLI.XDCNUM_0 " & _
                "AND CLIP.SDELIVERY.XDCNUM_0=CLIP.XDOSCLI2.XDCNUM_0 " & _
                "AND CLIP.SINVOICED.XDCNUM_0=CLIP.XDOSCLI.XDCNUM_0 " & _
                "AND CLIP.SDELIVERY.SDHNUM_0=CLIP.SINVOICED.SDHNUM_0 " & _
                "AND XBQABR_0 = '" & ReportAutoGrpBq.CheckedListBoxGrp.SelectedItem & "' " & _
                "AND SHIDAT_0 > '31/12/2005'", oConnection)
    Merci d'avance pour vos réponses!

  2. #2
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Février 2009
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2009
    Messages : 66
    Points : 53
    Points
    53
    Par défaut
    Moi, j'aurais mis peut être un like dans la requête au lieu du égal

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     "AND XBQABR_0 like '" & ReportAutoGrpBq.CheckedListBoxGrp.SelectedItem & "' " & _
    a voir.

    Carmel_o

  3. #3
    Membre à l'essai
    Inscrit en
    Février 2009
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 31
    Points : 10
    Points
    10
    Par défaut encore et toujours...
    merci de t'interresser à mon cas!

    j'ai essayer ta solution dans ma requête mais rien...

    et pis sait-on jamais j'ai aussi essayer avec le dataview mais idem ça ne marche pas...

    Avis aux chercheurs, un mini prblème de la mort est en marche!!

  4. #4
    Membre à l'essai
    Inscrit en
    Février 2009
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 31
    Points : 10
    Points
    10
    Par défaut
    un petit up car j'en ai vraiment besoin....

    Encore merci d'avance!

  5. #5
    Membre à l'essai
    Inscrit en
    Février 2009
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 31
    Points : 10
    Points
    10
    Par défaut nouvelle solution
    après plusieurs recherches, j'ai compris que l'on ne peut avois toutes les valeurs checkée....

    j'ai donc créer une petite fonction me permettan de récupérer ces-dites valeurs :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     Dim x As Integer
                Dim s As String = ""
                Dim z As Integer
                If ReportAutoGrpBq.CheckedListBoxGrp.CheckedItems.Count <> 0 Then
                    For x = 0 To ReportAutoGrpBq.CheckedListBoxGrp.CheckedItems.Count - 1
                        s = s & " LIKE '" & ReportAutoGrpBq.CheckedListBoxGrp.CheckedItems(x).ToString & "' OR"
                    Next
                    z = Len(s)
                    s = s.Remove(z - 2, 2)
                End If
    Je supprime les 2 derniers caractères sinon il me reste un "OR" sur les bras...

    Puis :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    "AND XBQABR_0 " & s & " " & _
    "AND SHIDAT_0 > '31/12/2005'", oConnection)
    Mais je n'arrete pas d'avoir un message d'erreur :
    ORA-00936 Missing expression
    et j'ai beau chercher je ne trouve pas...

  6. #6
    Membre à l'essai
    Inscrit en
    Février 2009
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 31
    Points : 10
    Points
    10
    Par défaut Mission complete!!
    Eh bien finalement j'ai réussit tout seul!!
    et comme je profite bien assez souvent des ressources et conseils de ce site,
    le moins que je puisse faire est de poster ma résolution...qui marche!!

    Donc, en fait dans ma requete, après avoir réglés les petits problèmes d'innatention, lorsque je lance le dégogage, eh bien magie noire le pc plante complètement...allez savoir pourquoi...

    Bref, en essayant sur le dataview magie blanche ça marche!!!
    Ci-après ma solution:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Dim x As Integer
                Dim s As String = ""
                Dim z As Integer
                If ReportingManuel.CheckedListBox1Man.CheckedItems.Count <> 0 Then
                    For x = 0 To ReportingManuel.CheckedListBox1Man.CheckedItems.Count - 1
                        s = s & "XBQABR_0 LIKE '" & ReportingManuel.CheckedListBox1Man.CheckedItems(x).ToString & "' OR "
                    Next x
                    z = Len(s)
                    s = s.Remove(z - 3, 3)
                End If
    et le dataview :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Dim oDataview As DataView = New DataView(oTable)
                oDataview.Table = oDataset.Tables("oTable")
                oDataview = oTable.DefaultView
                oDataview.Sort = "SHIDAT_0"
                oDataview.RowFilter = "SHIDAT_0 >= '" & ReportingManuel.TextBoxDatDebMan.Text & "' AND SHIDAT_0 <= '" & ReportingManuel.TextBoxDatFinMan.Text & "' AND " & s

    Tout simplement!!

    bonne chance à ceux qui auront le même problème que moi et avis à tous les galériens......Ne BAISSEZ PAS LES BRAS, car la solution est ailleurs...

    Cordialement, Ouggada.

    PS : merci à l'excellentissime site de PLASSERRE sans qui rien ne serait arrivé!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 0
    Dernier message: 03/06/2015, 16h14
  2. Réponses: 10
    Dernier message: 30/04/2015, 11h00
  3. Réponses: 11
    Dernier message: 12/11/2010, 09h31
  4. Empêcher sélection plusieurs éléments dans liste
    Par aemilia26 dans le forum Collection et Stream
    Réponses: 7
    Dernier message: 15/04/2010, 18h33
  5. Sélection de plusieurs éléments
    Par ti-ben dans le forum Langage
    Réponses: 8
    Dernier message: 04/09/2005, 11h54

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo