Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : commenbt selectionner des lignes d'1 dbgrid par programmation ? [ Archives / Bases de données ] (apz)

dimanche 15 septembre 2002 à 21:17:08 | commenbt selectionner des lignes d'1 dbgrid par programmation ?

apz

salut,

comment selectionner des lignes (rows) dans une DBGrid par programmation.

j'ai fait le code suivant mais ca n'a pas foctionner.

le code :


------------------------------------------------------------
procedure TForm1.Button1Click(Sender: TObject);
var
rec, recn1, recn2 : integer;
List : TBookMark;
begin
// selection automatique a l'execution des lignes d'une dbgrid
recn1:=1 ;
recn2:=recn1+3;

// travailler avec 4 enregistrements
for rec:=recn1 to recn2 do
begin

// marque l'enregistrement en cours
List:=TAB.GetBookMark;

//avoir la focalisation sur l'enresigtrement en cours
DBGrid1.SetFocus;

// selectionner l'enregistrement en cours
DBGrid1.SelectedRows.Items[rec-1];

{Là se declenche exception EStringListError avec le message :
Indice de list hors limite(0)}

// verification de lindex de la ligne selectionnee
showmessage(IntToStr(DBGrid1.SelectedRows.IndexOf(DBGrid1.SelectedRows.Items[rec-1])));
end;
// savoir le nombre de lignes selectionnes
showmessage(IntToStr(DBGrid1.SelectedRows.Count);
end;

------------------------------------------------------------

Merci de me repondre


dimanche 15 septembre 2002 à 21:39:12 | Re : commenbt selectionner des lignes d'1 dbgrid par programmation ?

Nono40

En fait ce n'est pas possible : la propriété SelectedRows est en lecture seule. Dans ce genre de cas la compilation ne donne pas d'erreur mais toutes les valeurs affectée provoque une erreur.

--- Nono du Moulin ---


-------------------------------
Réponse au message :
-------------------------------

salut,

comment selectionner des lignes (rows) dans une DBGrid par programmation.

j'ai fait le code suivant mais ca n'a pas foctionner.

le code :


------------------------------------------------------------
procedure TForm1.Button1Click(Sender: TObject);
var
rec, recn1, recn2 : integer;
List : TBookMark;
begin
// selection automatique a l'execution des lignes d'une dbgrid
recn1:=1 ;
recn2:=recn1+3;

// travailler avec 4 enregistrements
for rec:=recn1 to recn2 do
begin

// marque l'enregistrement en cours
List:=TAB.GetBookMark;

//avoir la focalisation sur l'enresigtrement en cours
DBGrid1.SetFocus;

// selectionner l'enregistrement en cours
DBGrid1.SelectedRows.Items[rec-1];

{Là se declenche exception EStringListError avec le message :
Indice de list hors limite(0)}

// verification de lindex de la ligne selectionnee
showmessage(IntToStr(DBGrid1.SelectedRows.IndexOf(DBGrid1.SelectedRows.Items[rec-1])));
end;
// savoir le nombre de lignes selectionnes
showmessage(IntToStr(DBGrid1.SelectedRows.Count);
end;

------------------------------------------------------------

Merci de me repondre



dimanche 15 septembre 2002 à 21:57:37 | et comment faire ?

apz

et comment faire ?



-------------------------------
Réponse au message :
-------------------------------

En fait ce n'est pas possible : la propriété SelectedRows est en lecture seule. Dans ce genre de cas la compilation ne donne pas d'erreur mais toutes les valeurs affectée provoque une erreur.

--- Nono du Moulin ---


-------------------------------
Réponse au message :
-------------------------------

salut,

comment selectionner des lignes (rows) dans une DBGrid par programmation.

j'ai fait le code suivant mais ca n'a pas foctionner.

le code :


------------------------------------------------------------
procedure TForm1.Button1Click(Sender: TObject);
var
rec, recn1, recn2 : integer;
List : TBookMark;
begin
// selection automatique a l'execution des lignes d'une dbgrid
recn1:=1 ;
recn2:=recn1+3;

// travailler avec 4 enregistrements
for rec:=recn1 to recn2 do
begin

// marque l'enregistrement en cours
List:=TAB.GetBookMark;

//avoir la focalisation sur l'enresigtrement en cours
DBGrid1.SetFocus;

// selectionner l'enregistrement en cours
DBGrid1.SelectedRows.Items[rec-1];

{Là se declenche exception EStringListError avec le message :
Indice de list hors limite(0)}

// verification de lindex de la ligne selectionnee
showmessage(IntToStr(DBGrid1.SelectedRows.IndexOf(DBGrid1.SelectedRows.Items[rec-1])));
end;
// savoir le nombre de lignes selectionnes
showmessage(IntToStr(DBGrid1.SelectedRows.Count);
end;

------------------------------------------------------------

Merci de me repondre




dimanche 15 septembre 2002 à 22:22:35 | Re : et comment faire ?

Nono40

Je crois malheureuseument que ce n'est pas possible. Les enregistrements sélectionnés le sont par l'utilistateur. Il n'est pas facile de le simuler.

--- Nono du Moulin ---


-------------------------------
Réponse au message :
-------------------------------

et comment faire ?



-------------------------------
Réponse au message :
-------------------------------

En fait ce n'est pas possible : la propriété SelectedRows est en lecture seule. Dans ce genre de cas la compilation ne donne pas d'erreur mais toutes les valeurs affectée provoque une erreur.

--- Nono du Moulin ---


-------------------------------
Réponse au message :
-------------------------------

salut,

comment selectionner des lignes (rows) dans une DBGrid par programmation.

j'ai fait le code suivant mais ca n'a pas foctionner.

le code :


------------------------------------------------------------
procedure TForm1.Button1Click(Sender: TObject);
var
rec, recn1, recn2 : integer;
List : TBookMark;
begin
// selection automatique a l'execution des lignes d'une dbgrid
recn1:=1 ;
recn2:=recn1+3;

// travailler avec 4 enregistrements
for rec:=recn1 to recn2 do
begin

// marque l'enregistrement en cours
List:=TAB.GetBookMark;

//avoir la focalisation sur l'enresigtrement en cours
DBGrid1.SetFocus;

// selectionner l'enregistrement en cours
DBGrid1.SelectedRows.Items[rec-1];

{Là se declenche exception EStringListError avec le message :
Indice de list hors limite(0)}

// verification de lindex de la ligne selectionnee
showmessage(IntToStr(DBGrid1.SelectedRows.IndexOf(DBGrid1.SelectedRows.Items[rec-1])));
end;
// savoir le nombre de lignes selectionnes
showmessage(IntToStr(DBGrid1.SelectedRows.Count);
end;

------------------------------------------------------------

Merci de me repondre





mardi 26 novembre 2002 à 10:37:36 | Re : commenbt selectionner des lignes d'1 dbgrid par programmation ?

lguez

Pour se déplacer dns un DBGrid, c'est au niveau de la BD qu'il faut se positionner.
Sinon pour utiliser les Bookmark est par exemple:

procedure TFenGestXX.BtnModifClick(Sender: TObject);
var
SavePlace: TBookmark;

begin
// Sauvegarde de la ligne en cours
SavePlace :=QueryXX.GetBookmark;
.
.
.
// contenue de la procédure
.
.
.

try
QueryXX.GotoBookmark(SavePlace);
except
on EDatabaseError do QueryXX.FreeBookmark(SavePlace);
end;
end;

-------------------------------
Réponse au message :
-------------------------------

salut,

comment selectionner des lignes (rows) dans une DBGrid par programmation.

j'ai fait le code suivant mais ca n'a pas foctionner.

le code :


------------------------------------------------------------
procedure TForm1.Button1Click(Sender: TObject);
var
rec, recn1, recn2 : integer;
List : TBookMark;
begin
// selection automatique a l'execution des lignes d'une dbgrid
recn1:=1 ;
recn2:=recn1+3;

// travailler avec 4 enregistrements
for rec:=recn1 to recn2 do
begin

// marque l'enregistrement en cours
List:=TAB.GetBookMark;

//avoir la focalisation sur l'enresigtrement en cours
DBGrid1.SetFocus;

// selectionner l'enregistrement en cours
DBGrid1.SelectedRows.Items[rec-1];

{Là se declenche exception EStringListError avec le message :
Indice de list hors limite(0)}

// verification de lindex de la ligne selectionnee
showmessage(IntToStr(DBGrid1.SelectedRows.IndexOf(DBGrid1.SelectedRows.Items[rec-1])));
end;
// savoir le nombre de lignes selectionnes
showmessage(IntToStr(DBGrid1.SelectedRows.Count);
end;

------------------------------------------------------------

Merci de me repondre





Cette discussion est classé dans : lignes, dbgrid, selectionner, rec, dbgrid1


Répondre à ce message

Sujets en rapport avec ce message

Ajout de ligne sur DBGrid [ par webazard ] Bonjour, Voila je commence tout juste sur dephi et je voudrais savoir comment ajouter de lignes dans un DBGrid ou me dire quoi d'autre utiliser, mon s selectionner dbgrid avec onmousemove [ par skiso ] comment on peut sélectionner une cellule de dbgrid en passent la souris dessus (onmousemove)ou avoir le contenu de la cellule.si c'est possible? DBGrid [ par MicLau ] Bonjour,J'utilise dans mon code des DBGrid pour afficher le contenu des tables de ma base de données.Cela fonctionne bien, mais suivant certaines cond Afficher sur plusieur lignes dans un DBGrid [ par SyDaze ] Bonjour,j'ai une colonne d'un DBGrid qui contient de tres longs text, dans ce cas le DBGrid donne une tres grande dimension a la colonne et tout le te [DBGrid] suppression de plusieurs lignes [ par ThePierrot ] Je voudrais savoir comment on peut supprimer plusieurs lignes dans des tables après avoir fait une selection multiple dans un DBGrid (option "dgMultiS Chercher des lignes de type string et les convertir au type int dans dbgrid [ par sosososo ] Bonjour,J'ai un problème de convertir une variable string to int. En fait, J'ai ma dbgrid qui contient 2 colonnes : 'Code' et 'libellé' . Dans le Code Couleurs d'un DBGrid [ par verbal ] 1-Comment faire pour attribuer des couleurs différentes à aux lignes d'un DBGRID.2-Comment faire pour utiliser des coches pour le multiselection des l Plusieurs lignes de Titres dans un DBGrid [ par coopertel ] Bonjour,Je voudrais avoir un rendu de ce type avec un DBGRID :| Facture  | Anomalie || Nbr | %  | Nbr | %  || 10  | 25 |  7  | 3  |....Explication :Je changement de valeur pour toutes les lignes, Aidez moi SVP [ par othland ] bonjour tous le monde!je travail avec un DBGrid et DBNavigator, et dans le onshow de ma fenetre j'excute une requete de type :'select T1.ch1, T1.ch2, Gérer la molette de la souris en multisélection dans un dbgrid [ par sylviecl ] Bonjour J'ai un dbgrid dans ma form et j'avais modifié mon prog pour qu'il gère la molette.Jusque là tout est ok.Mais maintenant j'ai besoin de gérer


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,406 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.