Bonjour à tous,
je tri des colonnes sur un objet KStringGrid, comment faire pour n'autoriser ce tri que sur certaines colonnes et ne pas l'autoriser sur d'autres ???
Merci bcp
a+
Bonjour à tous,
je tri des colonnes sur un objet KStringGrid, comment faire pour n'autoriser ce tri que sur certaines colonnes et ne pas l'autoriser sur d'autres ???
Merci bcp
a+
Peut-être en interceptant l'événement OnHeaderClick dont le contexte d'appel fournit la colonne:
Code : Sélectionner tout - Visualiser dans une fenêtre à part procedure TForm1.KStringGrid1HeaderClick(Sender: TObject; ACol: Integer);
le pb c'est qu'il y a la fct : KStringGrid1CompareRows pour trier et cette fct est appelée avant KStringGrid1HeaderClick...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 procedure TForm1.KStringGrid1HeaderClick(Sender: TObject; ACol: Integer); begin if Acol not in (....;) then exit; end;:
de faire ceci, celà n'empêche pas le prog de passer par la fct de CompareRow...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 procedure TForm1.KStringGrid1HeaderClick(Sender: TObject; ACol: Integer); begin if Acol not in (....;) then exit; end;
Alors, tu te crées ton propre gestionnaire d'événement![]()
et tu n'appelles l'officiel que si la colonne est autorisée
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 procedure TForm1.MonStringGrid1HeaderClick(Sender: TObject; ACol: Integer); begin if Acol in (....) then TKStringGrid1HeaderClick(Sender,ACol); end;
Partager