J'essaye de lier un DataGridViewComboBox à une liste pendant des heures maintenant.Datagridview ComboBox Liaison de données "La valeur n'est pas valide"
Mais
"Value is not valid"-Error-Dialog is everything I get :(
De mon oracle-base de données de test local, je suis aller chercher des données. Tout fonctionne bien mais la combobox. Je veux que le combobox montre le - parfois - dans la valeur choisie de DB et laisse l'utilisateur changer la valeur par l'intermédiaire de la liste déroulante.
J'ai une classe appelée DtoPerson:
internal class DtoPerson
{
private String _name;
private Int32 _personRollenId;
public String Name
{
get { return _name; }
set { _name = value; }
}
public Int32 PersonRollenId
{
get { return _personRollenId; }
set { _personRollenId = value; }
}
}
Je remplissais une liste de DtoPersons au sein de cette méthode:
private void CreateList()
{
DataRow[] treiberRows = _personTable.Select("ROLLE = '2'", "PERSONNAME ASC", DataViewRowState.CurrentRows);
_aufbauerListe = new List<DtoPerson>();
if (treiberRows != null && treiberRows.Length > 0)
{
foreach (DataRow row in treiberRows)
{
DtoPerson person = new DtoPerson();
//Füllen der Felder
person.Name = row["PERSONNAME"].ToString();
int persoId;
Int32.TryParse(row["PERSROLLID"].ToString(), out persoId);
person.PersonRollenIdInt = (persoId > 0) ? persoId : -1;
_aufbauerListe.Add(person);
}
}
}
'After' chargement de toutes les données, je suis liant les ComboBox à la Liste:
(_dgvDb.Columns["AUFBAUER"] as DataGridViewComboBoxColumn).DataSource = DaPerson.Instance.AufbauerListe;
(_dgvDb.Columns["AUFBAUER"] as DataGridViewComboBoxColumn).DisplayMember = "Name";
(_dgvDb.Columns["AUFBAUER"] as DataGridViewComboBoxColumn).ValueMember = "PersonRollenId";
(_dgvDb.Columns["AUFBAUER"] as DataGridViewComboBoxColumn).DataPropertyName = "AUFBAUERID";
Maintenant, chaque fois que je choisis une valeur, ou il devrait y avoir une valeur prédéfinie, au-dessus de moi erreur mentionnée est affichée. Comment puis-je resoudre ceci?
J'ai vraiment besoin d'aide ici ...