cs_fouroulou
Messages postés31Date d'inscriptionjeudi 31 mars 2005StatutMembreDernière intervention 7 avril 2008
-
11 juin 2005 à 11:07
cs_fouroulou
Messages postés31Date d'inscriptionjeudi 31 mars 2005StatutMembreDernière intervention 7 avril 2008
-
14 juin 2005 à 10:41
Bonjour tout monde,
voilà j'ai une listview composée de 4 colonnes , j' y ajoute des éléments avec un bouton Ajouter et j'aimerais afficher le contenu d'une ligne dans 2 combobox et 2 edit, et enfin effacer une ligne sélectionnée,mon problème c'est l'affichage , j'ai crée une procedure Afficher mais ça ne marche pas, s'il y'a qq 1 qui pourrait m'aider ça serai génial.
procedure TForm1.Ajouterclick(sender:TObject);
var ListItem:TListItem;
begin
ListItem:= ListView1.Items.Add;
ListItem.Caption:=ComboBox1.Text;
ListItem.SubItems.Add:=Edit1.Text;
ListItem.SubItems.Add:=Edit2.Text;
ListItem.SubItems.Add:=ComboBox2.Text;
Edit1.Text:='';
Edit2.Text:='';
comboBox1.ItemIndex:=-1;
comboBox2.ItemIndex:=-1;
end;
procedure TForm1.Effacerclick(sender:TObject);
begin
Listview1.DeleteSelected;
end;
procedure TForml.Afficher(sender:TObject);// j'ai du doute sur cette procedure
begin
if Listview1.RowSelect then
cs_Delphiprog
Messages postés4297Date d'inscriptionsamedi 19 janvier 2002StatutMembreDernière intervention 9 janvier 201332 11 juin 2005 à 12:45
Tu as dû oublier quelque chose...et te tromper ailleurs
procedure TForml.Afficher(sender:TObject);// j'ai du doute sur cette procedure begin
if Listview1.RowSelect then
begin
<STRIKE>ComboBox1.Text:=Listview1.selected.caption;</STRIKE>
Combobox1.ItemIndex := ComboBox1.Items.IndexOf(ListView1.Selected.caption);
Edit1.Text:=Listview1.selected.SubItems[0];
Edit2.Text:=Listview1.selected.SubItems[1];
<STRIKE>ComboBox2.Text:=Listview1.selected.SubItems[2];</STRIKE>
Combobox2.ItemIndex := ComboBox2.Items.IndexOf(ListView1.Selected.SubItems[2]);
end;
end;
<HR color=#008000>
Pensez à cliquer sur Réponse acceptée lorsque la réponse vous convient.
cs_fouroulou
Messages postés31Date d'inscriptionjeudi 31 mars 2005StatutMembreDernière intervention 7 avril 2008 13 juin 2005 à 10:51
bonjour,
je vous remercie pour votre réponse, mais apparemment on s'est mal compris, ou la procedure Afficher manque de paramètres.
L e problème c'est quand je selectionne une ligne, rien ne s'affiche dans les comboBox et les Tedit.
Moi je doute sur les paramètres de la procedure Afficher ou bien sur les propriétes de la TlistView.
cs_Delphiprog
Messages postés4297Date d'inscriptionsamedi 19 janvier 2002StatutMembreDernière intervention 9 janvier 201332 13 juin 2005 à 11:56
La propriété RowSelect du composant TListView est-elle bien à True ?
Si elle est à False, c'est normal que ça ne fonctionne pas.
Je pense qu'il serait préférable d'utiliser la propriété Selected comme tu le fais pour le reste du code :
if Listview1.Selected <> nil then
begin
Combobox1.ItemIndex := ComboBox1.Items.IndexOf(ListView1.Selected.caption);
Edit1.Text := Listview1.selected.SubItems[0];
Edit2.Text := Listview1.selected.SubItems[1];
Combobox2.ItemIndex := ComboBox2.Items.IndexOf(ListView1.Selected.SubItems[2]);
end ;
Et là, pas de problème !
<HR color =#008000>
Pensez à cliquer sur Réponse acceptée lorsque la réponse vous convient.
cs_Delphiprog
Messages postés4297Date d'inscriptionsamedi 19 janvier 2002StatutMembreDernière intervention 9 janvier 201332 13 juin 2005 à 21:17
Alors c'est que le problème est ailleurs car la solution donnée a été vérifiée et fonctionne.
Au vu du code que tu as fourni, j'ai présumé que la propriété ViewStyle était vsReport. Est-ce bien ton cas ?
<HR color=#008000>
Pensez à cliquer sur Réponse acceptée lorsque la réponse vous convient.
Maintenant il y'a un autre problème qui est apparu: il y'a 3 boutons; l'un pour ajouter dans la listview, le second pour effacer une ligne selectionnée, le dernier pour modifier une ligne selectionnée(grace à la procedure ci dessus), le problème c'est que je peux pas passer d'une ligne selectionnée à une autre soit en cliquant soit par les flèches haut et bas du clavier, sans que je vois apparaitre un message d'erreur:
la classe objet n'est pas définie à une instance objet