Delphi7

Résolu
loveyara
Messages postés
18
Date d'inscription
mardi 15 mai 2007
Statut
Membre
Dernière intervention
17 novembre 2009
- 31 août 2009 à 14:28
loveyara
Messages postés
18
Date d'inscription
mardi 15 mai 2007
Statut
Membre
Dernière intervention
17 novembre 2009
- 31 août 2009 à 17:57
Bonjour a tous,
j'ai un db grid et je veux savoir comment je peux donner le focus a un champs dans le db grid

8 réponses

cs_cantador
Messages postés
4720
Date d'inscription
dimanche 26 février 2006
Statut
Modérateur
Dernière intervention
31 juillet 2021
14
31 août 2009 à 15:47
bonjour,
essaie cette procedure :

procedure SetTheFocus(IndexChamp :integer);
begin
  dbgrid1.Fields[IndexChamp].FocusControl;
end;



cantador
3
loveyara
Messages postés
18
Date d'inscription
mardi 15 mai 2007
Statut
Membre
Dernière intervention
17 novembre 2009

31 août 2009 à 15:57
merci cantador,j'ai essayé le code mais ca marche pas il me donne le probléme de violation d'accée a l'adresse 004b581
0
cs_cantador
Messages postés
4720
Date d'inscription
dimanche 26 février 2006
Statut
Modérateur
Dernière intervention
31 juillet 2021
14
31 août 2009 à 16:54
ouaff !
ben celle là elle est bonne..

peux-tu me donner le code que tu as tapé...


cantador
0
loveyara
Messages postés
18
Date d'inscription
mardi 15 mai 2007
Statut
Membre
Dernière intervention
17 novembre 2009

31 août 2009 à 17:07
voila mon code

if (OldCol=3) or(OldCol=4) then
begin

if (grille.DataSource.DataSet.FieldValues['CMP_V_NCOMPTE']<>'') or (varisnull(grille.DataSource.DataSet.FieldValues['CMP_V_NCOMPTE'])=true) then
begin //1

with DataModule_compta.q_essay do
begin//2

Close;
SQL.Clear;
SQL.Add('select CMP_V_INTITULE from COMPTES where CMP_V_NCOMPTE='''+grille.Columns.Items[3].Rows[ligne]+''' ');
Open;
end;//2

if DataModule_compta.q_essay.RecordCount<>0 then
begin//3


with DataModule_compta.q_tablemouvement do
begin//4

grille.DataSource.DataSet.Edit;
grille.DataSource.DataSet.FieldValues['MVT_V_LIBELEMVT']:=DataModule_compta.q_essay.FieldValues['CMP_V_INTITULE'];

end;//4
end//3
else
begin//5

if MessageDlg('Ce compte n''existe pas dans le plan comptable, voulez_vous le créer ? ',mtConfirmation,[mbYes,mbNo],0)=mrYes then
begin//6

frmmenu.test_nvcompte_as:='nouveau_compte';

frmmenu.nvcompte_as:= Grille.Columns.Items[3].Rows[ligne];

Application.CreateForm(Tfrmcompte,frmcompte);


frmcompte.Show;
end//6

else
begin
//voila le code de focus
grille.Fields[3].FocusControl;

Exit;

end ;

end; //5


end;//1

end;
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_cantador
Messages postés
4720
Date d'inscription
dimanche 26 février 2006
Statut
Modérateur
Dernière intervention
31 juillet 2021
14
31 août 2009 à 17:28
ton grid est bien accessible et
en mode edition ?


cantador
0
loveyara
Messages postés
18
Date d'inscription
mardi 15 mai 2007
Statut
Membre
Dernière intervention
17 novembre 2009

31 août 2009 à 17:32
wé car j'ai d'autre code et il marche b1,et aussi ce code il marche b1 jusqu'a grille.Fields[3].FocusControl; ,la dbgrid est liée par un query
0
amsmounir_ams
Messages postés
4
Date d'inscription
jeudi 7 septembre 2006
Statut
Membre
Dernière intervention
1 septembre 2009

31 août 2009 à 17:40
Grille.SetFocus;
Grille.SelectedIndex:=3
0
loveyara
Messages postés
18
Date d'inscription
mardi 15 mai 2007
Statut
Membre
Dernière intervention
17 novembre 2009

31 août 2009 à 17:57
bjr mounir,merci mais ce code identificateur non déclaré vers le mot SelectedIndex
0