2 votes

Problème de dbgrid et de liste de sélection personnalisée

Je suis en train de créer mon propre DBGRid, et il fonctionne bien, à l'exception de la liste de sélection. Quel que soit le style de bouton défini pour la grille, il affiche toujours l'éditeur en place, ni la liste de sélection ni le bouton ellipse !

Je n'arrive pas à comprendre l'erreur que je fais :( . voici le code correspondant :

function TMyDBGrid.CreateEditor: TInplaceEdit;

begin
result:=TInplaceEdit.Create(self);

end;

function TMyDBGrid.GetEditStyle(ACol, ARow: integer): TEditStyle;
begin
 case Columns[ACol].ButtonStyle of
  cbsAuto : Result:=esPickList;
  cbsNone : result:=esSimple;
  cbsEllipsis : result:=esEllipsis;
end;
end;

Et le constructeur et le destructeur appellent juste hérité de Le constructeur ne fait que définir les couleurs de la grille.

4voto

Sertac Akyuz Points 32656

La raison pour laquelle il n'y a pas de liste de choix ou de bouton est que vous utilisez un fichier TInplaceEdit comme l'éditeur de cellules qui ne prend pas en charge la fonctionnalité dont vous avez besoin.

El TDBGrid utilise un TDBGridInplaceEdit qui hérite de TInplaceEditList comme son éditeur en place qui intègre un TCustomListbox pour sa liste déroulante et peint et gère le bouton d'édition.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X