Données dbgrid

Résolu
ratatouille53 Messages postés 30 Date d'inscription lundi 11 janvier 2016 Statut Membre Dernière intervention 10 décembre 2017 - 6 nov. 2017 à 19:02
ratatouille53 Messages postés 30 Date d'inscription lundi 11 janvier 2016 Statut Membre Dernière intervention 10 décembre 2017 - 9 nov. 2017 à 15:01
bonjour


dephi 7- bdd paradox 7
----------------------------

voila mon petit souci ;-)

lorsque je fait un tri sur mon dbgrid pour exemple :n afficher que les lignes ayant la même date, jusque la je sais faire !!

:mon contenu du degrid :|table n°|Nom client|Téléphone|Nombre|Date|

maintenant sur ma form jai plusieurs panels représentant des tables de restaurant: panel1 = table n°1 ect....

j aimerais pouvoir associer chaque ligne en fonction du numéro de table sur mes panel

exemple : jai trois reservation a la date du jour :

|table n°|Nom client |Téléphone|Nombre | Date |
---------------------------------------------------------------
| 1 | bobe | 0600000 | 4 |06/11/2017 |
---------------------------------------------------------------
| 2 | toto | 0600000 | 2 |06/11/2017 |
---------------------------------------------------------------
| 3 | titi | 0600000 | 6 |06/11/2017 |


_Panel 1_________
|bobe 4 personnes|
| |
| tel:600000 |
|_______________|

_Panel 2_________
|toto 4 personnes |
| |
| tel:600000 |
|_______________|

_Panel 1_________
|titi 4 personnes |
| |
| tel:600000 |
|_______________|

le bute est d avoir un visuel rapide du plan de table avec les réservations

je sais faire pour afficher une ligne mais pas pour plusieurs !!!

merci pour vos idée ou conseil..


cordialement T

1 réponse

ratatouille53 Messages postés 30 Date d'inscription lundi 11 janvier 2016 Statut Membre Dernière intervention 10 décembre 2017
9 nov. 2017 à 15:01
voila jai fait un bout code !!! mais bon ca me plais pas et de plus fonctionne mal

//******************TABLE 1 ***************
procedure TForm1.Button2Click(Sender: TObject);
Var
pnom, Pnombre: String;
begin
table1.first;
if Table1.FieldByName('table').value =1 then begin panel1.Color:= clBlue;
if table1.FieldByName('nom').Value = 'nean' then begin panel1.Color:=clRed;
pnom := Grille.DataSource.DataSet.Fields.Fields[1].AsString ;
Pnombre := Grille.DataSource.DataSet.Fields.Fields[3].AsString;
label1.caption:=pnom;
label2.Caption:=pnombre;

end;

begin
table1.first;
if Table1.FieldByName('table').value =2 then begin panel2.Color:= clBlue;
if table1.FieldByName('nom').Value = 'nean' then begin panel2.Color:=clRed;
pnom := Grille.DataSource.DataSet.Fields.Fields[1].AsString ;
Pnombre := Grille.DataSource.DataSet.Fields.Fields[3].AsString;
label3.caption:=pnom;
label4.Caption:=pnombre;

end;end;

je répète cela jusqu 'a 100

le souci cet que la dernière ligne est rempli de end;
et lorsque je lance l appli il n y a que les 8 premières enregistrement qui son pris en compte!!!!

voila alors si vous avez une solution pour simplifier le code
jai essayer avec une boucle ça marche pas enfin je vais dire plutôt je sais pas faire !!! car trop d'élément !!!!!

var
i: Integer;
begin
table1.first;
try
for i := 1 to 100 do
begin

if Table1.FieldByName('table').value =IntToStr(i) then
begin panel1.Color:= clBlue;

//pour cette ligne la je sais pas faire la boucle pour le panel(1)
if table1.FieldByName('nom').Value = 'nean' then begin panel1.Color:=clRed;
pnom := Grille.DataSource.DataSet.Fields.Fields[1].AsString ;
Pnombre := Grille.DataSource.DataSet.Fields.Fields[3].AsString;
//pour cette ligne la je sais pas faire la boucle pour label(1)et (2)
label1.caption:=pnom;
label2.Caption:=pnombre;
end;
finally
IniFile.Free;
end;

je sais pas si j ai été claire !!! dite moi !!! svp


j attend vos idées ou conseils !!

cordialement t
0
Rejoignez-nous