2010-06-21 10 views
0

J'ai un DataGridView avec deux colonnes définies comme:Comment faire pour définir un seul ComboBoxCell dans une colonne TextBoxCell de DataGridView?

Dim col As New DataGridViewColumn 
col.DefaultCellStyle.BackColor = Color.FromArgb(&HFFAAAAAA) 
col.Name = "Description" 
col.MinimumWidth = 80 
col.DataPropertyName = "Description" 
col.ValueType = GetType(String) 
col.ReadOnly = True 
col.CellTemplate = New DataGridViewTextBoxCell 
S0Grid.Columns.Add(col) 

col = New DataGridViewColumn 
col.DefaultCellStyle.BackColor = Color.FromArgb(&HFFBBBBBB) 
col.Name = "Value" 
col.MinimumWidth = 80 
col.DataPropertyName = "Value" 
col.ValueType = GetType(String) 
col.CellTemplate = New DataGridViewTextBoxCell 
S0Grid.Columns.Add(col) 

J'ai besoin que la cellule en position Col = 1, ligne = 0 est un ComboBox et non un TextBox. J'ai donc essayé d'ajouter le code suivant mais cela ne fonctionne pas, le contrôle d'édition reste un TextBox.

Dim cbCell As New 
DataGridViewComboBoxCell 
cbCell.Items.AddRange([Enum].GetNames(GetType(System.Reflection.BindingFlags))) 
S0Grid(1, 0) = cbCell 

Savez-vous comment puis-je résoudre ce problème?

Répondre

0

Ce code devrait fonctionner, est-il possible qu'il ne soit pas appelé ou qu'il lance ou similaire?

Essayez ce code:

Dim cbCell As New DataGridViewComboBoxCell 
S0Grid(1, 0) = cbCell 
MessageBox.Show("Test") 

Voyez-vous le messagebox? Et voyez-vous le combo maintenant?

+0

merci pour l'intérêt. J'ai vérifié et le code est exécuté, peut-être un autre paramètre interférer avec ma mise en œuvre. Je ferai des contrôles supplémentaires – Drake