none
impossible de rafraichier ma combobox RRS feed

  • Question

  • Bonjour

    et oui encore moi lol. J'ai un souci ur la remise à zéro de mon combobox nommé listref. Ci-dessous mon code

            ListRef.DataSource = Nothing
            ListRef.Items.Clear()
            Val_ID = Val(EnrgClient.Text)
            SqlRef = "SELECT * FROM `tab reference` WHERE (`code client` =" & Val_ID & ")"
            con.Open()
            Me.ListRef.Items.Clear()
            Dim da As OleDb.OleDbDataAdapter = New OleDb.OleDbDataAdapter
            ' Charge reference
            da.SelectCommand = New OleDb.OleDbCommand(SqlRef, con)
            da.Fill(ds, "tab reference")
            TabRef = ds.Tables("tab reference")
            con.Close()

    le ListRef.Items.Clear() ne netoie pas ma liste ?

    merci pour vos réponse


    Zoltan Biro

    dimanche 17 juin 2012 11:44

Toutes les réponses

  • Bonjour,

    Soit vous remplissez les éléments à la main via Items.Add() (et donc vous devez effacer votre liste à la main via Items.Clear()).

    Soit vous binder votre ComboBox à un DataSet (via la propriété DataSource) et vous remplissez/effacez votre DataSet (la ComboBox sera automatiquement remplie / effacée).

    Cordialement


    Gilles TOURREAU - MVP C#
    Architecte logiciel/Consultant/Formateur Freelance
    Blog : http://gilles.tourreau.fr
    - MCPD : Enterprise Developper / Windows Developper 3.5 / ASP .NET 3.5/4.0
    - MCITP : SQL Server 2008 Developper
    - MCTS : ADO .NET 3.5 / SQL Server 2008 Developper / Windows Forms 3.5 / ASP .NET 3.5/4.0

    dimanche 17 juin 2012 12:44
    Modérateur
  • Bonjour,

    merci pour reponse. J'ai omis a la fin de mon code :

    ListRef.DataSource = TaBRef
            ListRef.DisplayMember = "reference"

    qui rempli ma combobox. Je ne passe pas par la propriété datasource, j'affecte à la main le datasource. Ce que je ne comprends pas c'est que au début de mon code je vide listref (qui est ma combobox) et lorsque je change d'enregistrement sur la table client tous vien ce cummulé dans ma listref. Pour etre claire j'ai l'enregistrement n° 0, 1 etc qui viennet ce cummulé dans listref. Je n'arrive pas à alvider. Je comprends pas. Même quand je debogue le prog je vois bien que listref.items.clear() n'efface rien.

    Zoltan


    Zoltan Biro

    dimanche 17 juin 2012 13:55
  • Bonjour,

    Dans ce cas, étant donné que vous utilisez le DataBinding, vous n'avez pas à manipuler la collection Items.
    Mettez juste à jour votre DataSet qui se chargera de mettre à jour automatiquement votre ComboBox.

    Cordialement


    Gilles TOURREAU - MVP C#
    Architecte logiciel/Consultant/Formateur Freelance
    Blog : http://gilles.tourreau.fr
    - MCPD : Enterprise Developper / Windows Developper 3.5 / ASP .NET 3.5/4.0
    - MCITP : SQL Server 2008 Developper
    - MCTS : ADO .NET 3.5 / SQL Server 2008 Developper / Windows Forms 3.5 / ASP .NET 3.5/4.0

    dimanche 17 juin 2012 14:44
    Modérateur