J'ai créé un contrôle TextBoxButtonManager qui est une Textbox avec un Bouton à sa droite. Ce contrôle me permet d'encoder un filtre sur la recherche via la TextBox et lorsque je clique sur le bouton, de faire le select SQL et d'ouvrir une fenêtre avec le résultat de la recherche. Ce qui me permet de ne pas faire une sélection de toutes les records de la table et de les filtrer après coup. Lorsque mon contrôle est lié à une source de données, il reçoit un Id (ValueMember) et appel une méthode FillById(int Id) qui affiche dans le TextBox le champs voulu (DisplayName) comme pour une ComboBox. Puis si j'encode autre chose, que je clique sur le bouton et que je sélectionne une autre valeur, mon contrôle retient ce nouvel Id et affiche le nouveau Nom

Mon problème est que je voudrais intégrer ce contrôle dans un DataGridViewColumn. J'ai donc dériver un DataGridViewColumn, DataGridViewCell et Implémenté un Editor.

Comment dans ma Cell puis-je afficher le Nom et non l'Id et que surtout elle ne fasse pas tout le temps un refresh vers la DB à cause de sa méthode 'GetFormattedValue' ?

Merci