Depuis un DataSet je remplie un ComboBox avec les propriétés ValueMember et
TextMember. J'ai besoin d'ajouter une sélection du type "Aucune valeur" qui
mettrait la valeur du champ à NULL. J'ai essayer d'ajouter un item à la
collection items juste après le fill mais dés que je sélectionner l'item
ajouter j'obtiens un erreur.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Zoury
Salut Mikado ! :O)
Essai ceci : '*** ' on assume que dt est un ' DataTable contenant les données ' ' on créer un enregistrement bidon dans la table ' et on l'insère au début. Note que tu peux assigner ' la valeur qui te plaît à l'enregistrement (Nothing, -1, 0, etc.) ' aussi, l'ordre et le type des valeurs pour la création de la DataRow ' doit respecter l'ordre des colonnes dans la DataTable Dim dr As DataRow = dt.NewRow() dr.ItemArray = New Object() {"Aucune valeur", Nothing} dt.Rows.InsertAt(dr, 0)
' on lie notre DataTable à combo box ComboBox1.DataSource = dt ComboBox1.DisplayMember = "nom de la colonne contenant le texte" ComboBox1.ValueMember = "nom de la colonne contenant les valeurs" '***
-- Cordialement Yanick MVP pour Visual Basic "Mikado" a écrit dans le message de news:
Salut à tous,
Depuis un DataSet je remplie un ComboBox avec les propriétés ValueMember
et
TextMember. J'ai besoin d'ajouter une sélection du type "Aucune valeur"
qui
mettrait la valeur du champ à NULL. J'ai essayer d'ajouter un item à la collection items juste après le fill mais dés que je sélectionner l'item ajouter j'obtiens un erreur.
Comment faut il gérer ça ?
Merci
Jérôme
Salut Mikado ! :O)
Essai ceci :
'***
' on assume que dt est un
' DataTable contenant les données
'
' on créer un enregistrement bidon dans la table
' et on l'insère au début. Note que tu peux assigner
' la valeur qui te plaît à l'enregistrement (Nothing, -1, 0, etc.)
' aussi, l'ordre et le type des valeurs pour la création de la DataRow
' doit respecter l'ordre des colonnes dans la DataTable
Dim dr As DataRow = dt.NewRow()
dr.ItemArray = New Object() {"Aucune valeur", Nothing}
dt.Rows.InsertAt(dr, 0)
' on lie notre DataTable à combo box
ComboBox1.DataSource = dt
ComboBox1.DisplayMember = "nom de la colonne contenant le texte"
ComboBox1.ValueMember = "nom de la colonne contenant les valeurs"
'***
--
Cordialement
Yanick
MVP pour Visual Basic
"Mikado" <Mikado@libertysurf.fr> a écrit dans le message de
news:u9EU85RXFHA.1796@TK2MSFTNGP15.phx.gbl...
Salut à tous,
Depuis un DataSet je remplie un ComboBox avec les propriétés ValueMember
et
TextMember. J'ai besoin d'ajouter une sélection du type "Aucune valeur"
qui
mettrait la valeur du champ à NULL. J'ai essayer d'ajouter un item à la
collection items juste après le fill mais dés que je sélectionner l'item
ajouter j'obtiens un erreur.
Essai ceci : '*** ' on assume que dt est un ' DataTable contenant les données ' ' on créer un enregistrement bidon dans la table ' et on l'insère au début. Note que tu peux assigner ' la valeur qui te plaît à l'enregistrement (Nothing, -1, 0, etc.) ' aussi, l'ordre et le type des valeurs pour la création de la DataRow ' doit respecter l'ordre des colonnes dans la DataTable Dim dr As DataRow = dt.NewRow() dr.ItemArray = New Object() {"Aucune valeur", Nothing} dt.Rows.InsertAt(dr, 0)
' on lie notre DataTable à combo box ComboBox1.DataSource = dt ComboBox1.DisplayMember = "nom de la colonne contenant le texte" ComboBox1.ValueMember = "nom de la colonne contenant les valeurs" '***
-- Cordialement Yanick MVP pour Visual Basic "Mikado" a écrit dans le message de news:
Salut à tous,
Depuis un DataSet je remplie un ComboBox avec les propriétés ValueMember
et
TextMember. J'ai besoin d'ajouter une sélection du type "Aucune valeur"
qui
mettrait la valeur du champ à NULL. J'ai essayer d'ajouter un item à la collection items juste après le fill mais dés que je sélectionner l'item ajouter j'obtiens un erreur.
Comment faut il gérer ça ?
Merci
Jérôme
Jérôme Quintard
Non malheureusement ça ne fonctionne pas... j'obtiens une erreur...
Mika
Non malheureusement ça ne fonctionne pas... j'obtiens une erreur...
Non malheureusement ça ne fonctionne pas... j'obtiens une erreur...
Mika
Zoury
Salut Jérôme ! :O)
Peux-tu nous dire quelle est l'erreur obtenue et nous montrer ton code svp ?
Je viens de refaire le test et ça fonctionne : '*** Dim cmd As OracleCommand Dim da As OracleDataAdapter Dim ds As DataSet Dim dt As DataTable Dim dr As DataRow
cmd = New OracleCommand cmd.CommandType = CommandType.Text cmd.CommandText = "select nvl(p.nom, '') || ', ' || nvl(p.prenom, '') nom, p.id id from personne p"
cmd.Connection = New OracleConnection("Password=mon_password;User ID=mon_user;Data Source=ma_bd;Persist Security Info=True") cmd.Connection.Open() da = New OracleDataAdapter(cmd) ds = New DataSet da.Fill(ds) cmd.Connection.Close()
dt = ds.Tables(0) dr = dt.NewRow() dr.ItemArray = New Object() {"Aucune valeur", -1} dt.Rows.InsertAt(dr, 0)
-- Cordialement Yanick MVP pour Visual Basic "Jérôme Quintard" a écrit dans le message de news:
Non malheureusement ça ne fonctionne pas... j'obtiens une erreur...
Mika
Salut Jérôme ! :O)
Peux-tu nous dire quelle est l'erreur obtenue et nous montrer ton code svp ?
Je viens de refaire le test et ça fonctionne :
'***
Dim cmd As OracleCommand
Dim da As OracleDataAdapter
Dim ds As DataSet
Dim dt As DataTable
Dim dr As DataRow
cmd = New OracleCommand
cmd.CommandType = CommandType.Text
cmd.CommandText = "select nvl(p.nom, '') || ', ' || nvl(p.prenom,
'') nom, p.id id from personne p"
cmd.Connection = New OracleConnection("Password=mon_password;User
ID=mon_user;Data Source=ma_bd;Persist Security Info=True")
cmd.Connection.Open()
da = New OracleDataAdapter(cmd)
ds = New DataSet
da.Fill(ds)
cmd.Connection.Close()
dt = ds.Tables(0)
dr = dt.NewRow()
dr.ItemArray = New Object() {"Aucune valeur", -1}
dt.Rows.InsertAt(dr, 0)
--
Cordialement
Yanick
MVP pour Visual Basic
"Jérôme Quintard" <nospam__jerome.quintard@wanadoo.fr__nospam> a écrit dans
le message de news:uItYVwlXFHA.3280@TK2MSFTNGP09.phx.gbl...
Non malheureusement ça ne fonctionne pas... j'obtiens une erreur...
Peux-tu nous dire quelle est l'erreur obtenue et nous montrer ton code svp ?
Je viens de refaire le test et ça fonctionne : '*** Dim cmd As OracleCommand Dim da As OracleDataAdapter Dim ds As DataSet Dim dt As DataTable Dim dr As DataRow
cmd = New OracleCommand cmd.CommandType = CommandType.Text cmd.CommandText = "select nvl(p.nom, '') || ', ' || nvl(p.prenom, '') nom, p.id id from personne p"
cmd.Connection = New OracleConnection("Password=mon_password;User ID=mon_user;Data Source=ma_bd;Persist Security Info=True") cmd.Connection.Open() da = New OracleDataAdapter(cmd) ds = New DataSet da.Fill(ds) cmd.Connection.Close()
dt = ds.Tables(0) dr = dt.NewRow() dr.ItemArray = New Object() {"Aucune valeur", -1} dt.Rows.InsertAt(dr, 0)