begin process at 2010 02 10 10:38:39
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Delphi

 > 

Système

 > 

Autre

 > 

Comment incrementer la position d'un Listview ?


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Comment incrementer la position d'un Listview ?

dimanche 21 juin 2009 à 13:49:48 | Comment incrementer la position d'un Listview ?

vieuxpere

Bonjour, je n'arrive pas à incrémenter la postion d'un lisview. Pour ce faire, j'utilise le code suivant : ListView1.ItemIndex:=ListView1.ItemIndex+1; Ca marche trés bien sur un listbox mais sur ce type de composant. J'ai aussi essayé : ListView1.SetFocus; ListView1.ItemIndex:=ListView1.ItemIndex+1; Mais c'est pas mieux ! Si quelqu'un à une idée ... Merci par avance.
dimanche 21 juin 2009 à 15:01:44 | Re : Comment incrementer la position d'un Listview ?

Grudziecki

ViewStyle propriété doit être définie à vsList ou vsReport
vers le haut (/\)
if(ListView1.ItemIndex <> 0)and(ListView1.Selected <> nil)then
  begin
    ListView1.Items.BeginUpdate;
    try
      ListView1.Items.Insert(ListView1.Selected.Index+2).Assign(ListView1.ItemFocused);
      ListView1.ItemFocused.Delete;
    finally
      ListView1.Items.EndUpdate;
    end;
  end;


vers le bas (\/)
if(ListView1.ItemIndex <> 0)and(ListView1.Selected <> nil)then
  begin
    ListView1.Items.BeginUpdate;
    try
      ListView1.Items.Insert(ListView1.Selected.Index-1).Assign(ListView1.ItemFocused);
      ListView1.ItemFocused.Delete;
    finally
      ListView1.Items.EndUpdate;
    end;
  end;


dimanche 21 juin 2009 à 15:33:22 | Re : Comment incrementer la position d'un Listview ?

vieuxpere

Bonjour et merci de ta réponse. Mon listview est à VsReport et j'ai besoin d'incrementer comme suit (postion du listview actuelle +1), je dois donc aller vers le bas. Mon probléme c'est que je n'arrive pas à utiliser ton code, ça compile mais ca n'incremente pas la postion de mon listview. Merci de votre aide.
dimanche 21 juin 2009 à 15:41:54 | Re : Comment incrementer la position d'un Listview ?

vieuxpere

En gros, je veux faire un bouton qu'a chaque fois que je clique dessus la position de l'itemIndex du listview avance de 1.
dimanche 21 juin 2009 à 22:57:34 | Re : Comment incrementer la position d'un Listview ?

Delphiprog

Administrateur CodeS-SourceS
Réponse acceptée !
Penser à mettre la propriété HideSelection à False pouvoir faire ressortir l'élément sélectionné.
Voici le code tout simple qui passe à l'élément suivant :

procedure TForm1.Button1Click(Sender: TObject);
begin
  with ListView1 do
    if Assigned(Selected) and (Selected.Index < Items.Count - 1) then
      Selected := Items[Selected.index + 1];
end;

May Delphi be with you
Pensez à cliquer sur Réponse acceptée lorsque la réponse vous convient.
lundi 22 juin 2009 à 00:17:17 | Re : Comment incrementer la position d'un Listview ?

vieuxpere

Merci DelphiProg pour ta réponse. Mais j'ai mon Listview qui ne s'incremente pas de sa position initiale.
lundi 22 juin 2009 à 00:34:43 | Re : Comment incrementer la position d'un Listview ?

cirec

Membre Club Administrateur CodeS-SourceS
Salut,

tu ne vois pas la sélection changer parce que la ListView n'a plus le focus !!!
essaye comme ça :
procedure TForm1.Button1Click(Sender: TObject);
begin
  with ListView1 do
    if Assigned(Selected) and (Selected.Index < Items.Count - 1) then
    begin
      Selected := Items[Selected.index + 1];
      SetFocus;
    end;
end;

 
@+
Cirec

lundi 22 juin 2009 à 00:59:02 | Re : Comment incrementer la position d'un Listview ?

vieuxpere

J'ai deux lignes sur mon listview qui se selectionne à partir de ma position initiale mais mon mon listview ne s'incremente pas. J'en suis sur car j'ai fait un : ShowMessage(IntToStr(ListView1.ItemIndex));
lundi 22 juin 2009 à 01:28:49 | Re : Comment incrementer la position d'un Listview ?

cirec

Membre Club Administrateur CodeS-SourceS
ps: avec le premier code il faut sélectionner le premier Item en cliquant dessus
mets un showmessage avant et après et tu verras que sa valeur change !!!!

voici un autre code qui fonctionne dans tous les cas

procedure TForm1.Button11Click(Sender: TObject);
begin
  with ListView1 do
  begin
    if Assigned(Selected) and (Selected.Index < Items.Count - 1) then
    begin
      //ShowMessage(IntToStr(ListView1.ItemIndex));
      Selected := Items[Selected.index + 1];
      //ShowMessage(IntToStr(ListView1.ItemIndex));
    end
    else
    if Items.Count > 0 then
      Selected := Items[0];
    SetFocus;
    end;
end;

ce code a été testé et fonctionne parfaitement (comme le premier d'ailleurs )!!!

 
@+
Cirec

lundi 22 juin 2009 à 01:56:08 | Re : Comment incrementer la position d'un Listview ?

vieuxpere

Merci de votre patience, je fais un peu demeuré mais ce code (dans mon cas) ne fonctionne pas. J'ai plusieurs collones, ça peut avoir un rapport ?

1 2

Cette discussion est classée dans : listview, position, listview1, incrementer, itemindex


Répondre à ce message

Sujets en rapport avec ce message

IndexOf d'une ListView et sauvegarde des icônes [ par ActiveX ] Y a t'il quelq'un qui a déjà utilisé l'indexOf d'une Listview.je veux faire un indexof avec un string dans un Listviewvar i: Integer;   begin   i := L Listview --> Effacer 1 par 1 [ par stailer ] Salut tout le monde !Donc voila mon problème :Je fais une boucle sur chacune des lignes de mon listview... Puis à l'intérieur j'identifie l'index avec Intervertir deux lignes d'un ListView [ par informatixo ] Bonjour le forum, J'ai un petit souci avec le code suivant : procedure TForm2.Button1Click(Sender: TObject); var   ItemTampon: TListItem; begin   Item insert dasn un listview [ par skiso ] listview1.Items.Insert(0);listview1.Items.Item[0].Caption:='jjjjjj';listview1.Items.Item[0].SubItems.text:='rrr';comment faire pour ecrire dans les au Largeur colonne listView modifiée en exécution [ par Jean_Jean ] Bonjour,    Je ne suis pas familiarisé avec les Listview et je reconnais que ce sont des composants fascinants. N'ayant pas trouvé de réponse à mon pr listview [ par skiso ] svpje veut savoir comment je peut ecrire dans un listview dans les cases je sais que pour la premier il faut ecrire :listview1.Items.Item[0].SubItems. ListView [ par VERTY ] Je cherche une solution pour arranger les icones de mon bureau en haut,a gauche ,en bas et a droite.Je sais qu'il faut utiliser ListView_Arrange mais Problème changement de valeur listview [ par minouxxxxx ] Bonsoir,Je suis coincé actuellement, je cherche à modifier les items d'une listbox un a un en fonction de valeurs variables qui arrivent par Ethernet Couleur listview [ par brogerficho ] Bonjour, je commence en DELPHI for PHP. Je voudrais changer la couleur d'une ligne ou même d'une colone d'un listview que j'ai chargé. J'ai vu qu'il e Comment compter les imagesindex de type1 dans un listview ? [ par vieuxpere ] Bonjour, J'ai un listview associé à une ImageList qui contient deux types d'icone (0 et 1). Selon l'info que j'affiche, j'associe un icone different


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,468 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales