Delphi7 [Résolu]

Signaler
Messages postés
18
Date d'inscription
mardi 15 mai 2007
Statut
Membre
Dernière intervention
17 novembre 2009
-
Messages postés
18
Date d'inscription
mardi 15 mai 2007
Statut
Membre
Dernière intervention
17 novembre 2009
-
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

Messages postés
4719
Date d'inscription
dimanche 26 février 2006
Statut
Modérateur
Dernière intervention
1 février 2021
14
bonjour,
essaie cette procedure :

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



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

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
Messages postés
4719
Date d'inscription
dimanche 26 février 2006
Statut
Modérateur
Dernière intervention
1 février 2021
14
ouaff !
ben celle là elle est bonne..

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


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

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;
Messages postés
4719
Date d'inscription
dimanche 26 février 2006
Statut
Modérateur
Dernière intervention
1 février 2021
14
ton grid est bien accessible et
en mode edition ?


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

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
Messages postés
4
Date d'inscription
jeudi 7 septembre 2006
Statut
Membre
Dernière intervention
1 septembre 2009

Grille.SetFocus;
Grille.SelectedIndex:=3
Messages postés
18
Date d'inscription
mardi 15 mai 2007
Statut
Membre
Dernière intervention
17 novembre 2009

bjr mounir,merci mais ce code identificateur non déclaré vers le mot SelectedIndex