Bonjour,
Je suis en train de découvrir les ListBox pour remplacer certains StringGrid (l'idée m'est venue en lisant ce qui se dit/fait par ici) seulement j'ai apparemment un problème de doublons à l'exécution.
J'aimerais donc savoir à partir de quelle information les doublons sont déterminés, car chaque enregistrement étant unique, j'ai du mal à saisir d'où le problème vient réellement :
Et je la remplie de cette maniere :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 procedure TForm1.addItem(Client,TypeContrat, DateS,DateT,Etat,Com,Num,id: String); var lo : TLayout; lb : TListBoxItem; begin LNomClient.Text := Client; //Label à l'interieur de la GroupBox LDateSignature.Text := DateS; //Label à l'interieur de la GroupBox LDateEtat.Text := DateT; //Label à l'interieur de la GroupBox LEtatContrat.Text := Etat; //Label à l'interieur de la GroupBox GBContrat.Text :=TypeContrat+' ' +Num +' '+ Com; //GroupBox qui regroupe les TLabels lb := TListBoxItem.Create(LBContrat); lb.Width := LBContrat.Width; lb.Height := GBContrat.Height + 12; lb.Selectable := False; //opsional lb.FontColor := $00FFFFFF; //opacity lb.Text := Client+ DateS+DateT+Etat+TypeContrat+Num; lb.Name := 'Dos'+Id; lb.StyledSettings := []; lo := TLayout(GBContrat.Clone(lb)); lo.Width := lb.Width - 32; lo.Position.X := 16; lo.Position.Y := 0; lo.Visible := True; lb.AddObject(lo); LBContrat.AddObject(lb); end;
Et la GroupBox qui me sert de modele :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 With Form1.QueryStat2 Do If FindFirst Then while Not Eof Do Begin Form1.AddItem(FieldByName('CLIENT').AsString,FieldByName('CONTRAT').AsString ,FieldByName('DATES').AsString,FieldByName('DATET').AsString, FieldByName('ETAT').AsString,FieldByName('COM').AsString,FieldByName('Ref_contrat').AsString ,FieldByName('id').AsString); Next; End;
Le FieldByName 'id' est unique pour chaque enregistrement donc je peux m'en servir pour rendre chaque Item unique.
Le plus bizarre dans cette histoire c'est que j'ai ce problème de manière aléatoire, des fois ça marche! c'est à n'y rien comprendre ..
Partager