Les cellules de DataGridViewComboBoxColumn ont ComboBoxStyle DropDownList. Cela signifie que l'utilisateur peut uniquement sélectionner des valeurs dans la liste déroulante. Le contrôle sous-jacent est ComboBox, donc il peut avoir le style DropDown. Comment puis-je modifier le style de la zone de liste déroulante sous-jacente dans DataGridViewComboBoxColumn. Ou, plus général, puis-je avoir une colonne dans DataGridView avec une liste déroulante où l'utilisateur peut taper?Comment faire pour modifier le style ComboBox de la cellule dans DataGridViewComboBoxColumn
Répondre
void dataGridView1_EditingControlShowing(object sender,
DataGridViewEditingControlShowingEventArgs e)
{
if (e.Control.GetType() == typeof(DataGridViewComboBoxEditingControl))
{
DataGridViewComboBoxEditingControl cbo =
e.Control as DataGridViewComboBoxEditingControl;
cbo.DropDownStyle = ComboBoxStyle.DropDown;
}
}
Après solution fonctionne pour moi
private void dataGridView1_CellValidating(object sender,
DataGridViewCellValidatingEventArgs e)
{
if (e.ColumnIndex == Column1.Index)
{
// Add the value to column's Items to pass validation
if (!Column1.Items.Contains(e.FormattedValue.ToString()))
{
Column1.Items.Add(e.FormattedValue);
dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value =
e.FormattedValue;
}
}
}
private void dataGridView1_EditingControlShowing(object sender,
DataGridViewEditingControlShowingEventArgs e)
{
if (dataGridView1.CurrentCell.ColumnIndex == Column1.Index)
{
ComboBox cb = (ComboBox)e.Control;
if (cb != null)
{
cb.Items.Clear();
// Customize content of the dropdown list
cb.Items.AddRange(appropriateCollectionOfStrings);
cb.DropDownStyle = ComboBoxStyle.DropDown;
}
}
}
la donnée si la condition se révèle toujours être vrai dans mon databounded ... combobox est là un travail autour ... condition donnée: ================= ============================================= if (! Column1.Items.Contains (e.FormattedValue.ToString())) { Column1.Items.Add (e.FormattedValue); dataGridView1.Rows [e.RowIndex] .Cells [e.ColumnIndex] .Value = e.FormattedValue; } –
if (!Column1.Items.Contains(e.FormattedValue.ToString())) {
Column1.Items.Add(e.FormattedValue);
dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value = e.FormattedValue;
}
peut toujours retourner vrai parce que Column1.Items.Contains()
est à la recherche de valeurs String
. si e.FormattedValue
n'est pas un String
alors la comparaison échouera.
essayer
if (!Column1.Items.Contains(e.FormattedValue.ToString())) {
Column1.Items.Add(e.FormattedValue.ToString());
dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value = e.FormattedValue.ToString();
}
ou
if (!Column1.Items.Contains(e.FormattedValue)) {
Column1.Items.Add(e.FormattedValue);
dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value = e.FormattedValue;
}
- 1. DataGridView - "Style de sélection de cellule" - Modifier la cellule
- 2. Comment faire pour dérouler manuellement un DataGridViewComboBoxColumn?
- 3. DataGridViewComboBoxColumn - type d'éléments dans la liste déroulante
- 4. DataGridViewComboBoxColumn
- 5. Modifier la cellule dans la ligne sélectionnée
- 6. Comment modifier le style dans le code derrière le fichier pour divs dans ASP.net?
- 7. Comment faire pour obtenir Dernière cellule active dans Excel 2007
- 8. Modifier la couleur d'une cellule particulière dans DataGrid?
- 9. Modifier le style de devis par défaut pour htmlentities
- 10. Modifier le style de la boîte de sélection
- 11. Comment définir maxlength pour combobox dans WPF?
- 12. ComboBox de style smartphone sur la plateforme PocketPC?
- 13. DataGridViewComboBoxColumn - modification des éléments
- 14. Comment modifier le style CSS d'une info-bulle YUI?
- 15. Comment faire pour modifier le périphérique d'entrée audio par défaut
- 16. Flex Combobox - Modifier/Supprimer une option
- 17. Comment faire pour modifier le format automatique Visual Studio
- 18. Comment faire pour modifier le document photographié à regarder "numérisé"
- 19. Comment concaténer dans la cellule
- 20. Copier la couleur d'intérieur de cellule de la cellule cliquée à la cellule active
- 21. comment faire GridView modifier le lien appelle la fonction javascript?
- 22. Afficher le clavier pour la cellule dans UITableView?
- 23. QTableView - ne pas autoriser l'utilisateur à modifier la cellule
- 24. Modifier le style d'élément ListBox au moment de l'exécution
- 25. Modifier la police de la cellule dans DataGrid sur Windows Mobile
- 26. Comment faire pour modifier la taille de la taille fielddef dans un TClientDataSet après LoadFromFile
- 27. Comment faire pour modifier des données dans ListView imbriqué
- 28. Comment valider et modifier une valeur de cellule
- 29. ASP.NET AjaxControlToolkit modifier dynamiquement le contenu Combobox par Ajax
- 30. Comment modifier la hauteur de la cellule de vue de table
Ceci est seulement idée de la solution. La solution complète nécessite une routine de validation, sinon DataGridView lèvera une exception. La solution utile nécessite souvent une liste spécifique aux cellules dans la liste déroulante. – chgman