La conversion de la Colonne dans DataGridView dans une zone de liste déroulante

J'ai un WinForms application écrite en C# dans laquelle j'ai un DataGridView lié à une source de données renseignée à partir d'une Base de données SQL.

Mon code est comme suit -

string sqlText = "SELECT columns FROM table;";
SqlCommand sqlCom = new SqlCommand(sqlText);
DataTable table = new DataTable();
SqlConnection linkToDB = DatabaseConnection();
sqlCom.Connection = linkToDB;
linkToDB.Open();
using (linkToDB)
using (SqlDataAdapter adapter = new SqlDataAdapter(sqlCom))
{
    adapter.Fill(table);
}     
dataMyGridView.DataSource = table;

J'ai essayé d'ajouter un DataGridViewComboBox à ce qui suit -

DataGridViewComboBoxColumn colBox = new DataGridViewComboBoxColumn();
colBox.DataSource = GetListOfValues();   
dataMyGridView.Columns.Add(colbox);

Maintenant cela fonctionne, mais il ajoute une toute nouvelle colonne avec la zone de liste déroulante, plutôt que de la conversion de l'une des colonnes existantes dans une zone de liste déroulante.

Quelqu'un peut-il expliquer comment je convertir une Colonne existante dans le dataMyGridView dans un ComboBox?

La GetListOfValues fonction retourne simplement une Table de données contenant toutes les valeurs possibles pour la zone de liste déroulante du champ. Il remplit correctement, mais comme je l'ai dit, est une toute nouvelle colonne. Comment puis-je recommander l'ajout zone de liste déroulante de la propriété correspondante dans "table".

  • Vous ne savez pas si cela allait fonctionner, mais vous pourriez essayer d'ajouter deux colonnes (TextBox et ComboBox) en mode de conception et lors de l'exécution de votre code de supprimer celui que vous n'avez pas besoin une fois que vous avez lié les données.
  • salut exactement ce que tu veux.. comme dans le cas de l'u veux une liste déroulante avec des Hommes et des Femmes de l'option et lorsque u affichage de la table à la grille, la grille u veux combobox pas valeur de texte.. droit ??
InformationsquelleAutor PJW | 2014-01-24