J'utilise un TStringGrid dans laquelle l'utilisateur saisit via une combobox ou un TEdit.
J'ai utilisé l'évènement OnDraxCell.
Cela fonctionne. Par contre si la cellule dans laquelle je veux saisir se situe sur la dernère ligne visible à l'écran elle ne récupère pas la bonne valeur dans le TEdit.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 If (ARow = Grille.Row) And (ACol = Grille.Col) Then Begin ed_Saisie.Visible := True; ed_Saisie.Top := Grille.Top + Rect.Top; ed_Saisie.Left := Grille.Left + Rect.Left + 2; ed_Saisie.Width := Rect.Right - Rect.Left; ed_Saisie.Text := Trim(GrilleCadreCellule(ACol, Grille.Cells[ACol, ARow])); ed_Saisie.SetFocus; End;
Soit il y a un moyen d'empècher cela soit je simule un scroll pour faire avancer ma grille d'une ligne.
Je sais le faire en VB avec une Flexgrid mais pas sous Delphi.
Partager