Ok, je suis sûr qu'il me manque quelque chose d'évident ici, mais je ne peux pas le comprendre. J'ai un DataGridView dont je spécifie les colonnes dans le code, avec tous sauf 1 défini pour les cellules de zone de texte. La dernière colonne est réglé sur une cellule combobox qui est à nouveau poplulated dans le code:DataGridViewCombo ne pas afficher
DataGridViewComboBoxColumn TransferStatusColumn = new DataGridViewComboBoxColumn();
Lookups.Lookups service = new Lookups.Lookups();
List<Lookup> lookups = service.GetGenericLookup("LG_L_TransferStatus_Get", "ID", "Description");
Lookup blank = new Lookup();
blank.LookupID = 0;
blank.Description = "";
TransferStatusColumn.Items.Add(blank);
foreach (Lookup lkp in lookups)
{
TransferStatusColumn.Items.Add(lkp);
}
TransferStatusColumn.DisplayMember = "Description";
TransferStatusColumn.ValueMember = "LookupID";
TransferStatusColumn.DataPropertyName = "TransferStatus";
TransferStatusColumn.HeaderText = "Status";
TransferStatusColumn.ReadOnly = false;
LoanBrokerTransfersDataGridView.Columns.Add(TransferStatusColumn);
Le problème que j'ai est que lorsque le DataPropertyName est défini, le ComboBox ne s'affiche - Il est là, mais rien ne se passe quand Je clique dessus. Si je commente cette ligne, elle s'affiche et fonctionne correctement. J'ai inspecté le contrôle et dans les deux cas la collection d'articles est correctement remplie.
EDIT:
Je suis INITIALISATION les colonnes du DataGridView comme décrit, puis définir le DataSource à un DataTable qui contient ces colonnes. Toutes les colonnes ont le DataPropertyName fixé afin de se lier au code DataTable
Liaison de données est tout simplement:
LoanBrokerTransfersDataGridView.DataSource = dt;
Où dt est un datatable
Pourriez-vous s'il vous plaît mettre à jour votre code afin qu'il contienne l'endroit où vous définissez la liaison de données? En outre, vous ne devriez pas avoir besoin d'initialiser quoi que ce soit manuellement. – Grzenio