OVH Cloud OVH Cloud

Problème Dataset & Combobox

2 réponses
Avatar
Jmb
Bonjour,

Je récupère le contenu d'une table dans un dataset, puis j'ajoute une ligne
dans la table du dataset:
this.oleDbDataAdapter1.Fill(this.dataSet11);
// insère un service vide (Numero=0,Description="")
DataRow drEmpty = dataSet11.Service.NewRow();
drEmpty.ItemArray = new object[]{"","","",0};
dataSet11.Service.Rows.InsertAt(drEmpty,0);
// pour empêcher que la ligne soit rajoutée dans la bdd lors du prochain
Update()
dataSet11.AcceptChanges();

Je charge le contenu du dataset dans une combobox:
this.comboBox1.DataSource = this.dataSet11.Service;
this.comboBox1.DisplayMember = "Description";
this.comboBox1.ValueMember = "Numero";

Je sélectionne la ligne correspondant au service vide dans la combobox:
this.comboBox1.SelectedValue = 0;

Cette instruction me déclenche une exception:
System.ArgumentOutOfRangeException.

Note: si je n'exécute pas dataSet11.AcceptChanges() je n'ai pas d'exception
et la ligne vide est correctement sélectionnée.

Quelqu'un a-t-il une explication?

Merci.

2 réponses

Avatar
Zoury
Salut Jmb ! :O)

this.comboBox1.SelectedValue = 0;



T'as essayé avec SelectedIndex.. ?

--
Cordialement
Yanick
MVP pour Visual Basic
Avatar
Jmb
Oui ça fonctionne, mais j'aimerais bien comprendre pourquoi l'appel
AcceptChange() perturbe la propriété SelectedValue.

"Zoury" a écrit :

Salut Jmb ! :O)

> this.comboBox1.SelectedValue = 0;

T'as essayé avec SelectedIndex.. ?

--
Cordialement
Yanick
MVP pour Visual Basic