1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| datset:=dbgrid1.DataSource.DataSet; //on récupère le dataset dans ta
datset.First; //on place le pointer sur le premier élément
j:=0;
stringgrid1.RowCount:=1;
stringgrid1.FixedCols:=0;
stringgrid1.ColCount:=dbgrid1.Columns.Count; //on ajuste le nombre de colonne du stringgrid en fonction du dbgrid
for i:=0 to dbgrid1.Columns.Count-1 do //on parcours toutes les colonnes de la première ligne pour ajuster la ligne fixe
begin
stringgrid1.Cells[i,0]:=dbGrid1.Columns.Items[i].FieldName;
end;
while not datset.Eof do
begin
j:=j+1;
stringgrid1.RowCount:=stringgrid1.RowCount+1; //on ajoute une ligne dans le stringgrid
for i:=0 to dbgrid1.Columns.Count-1 do //pour toutes les colonnes on recopie les données
month:=strtoint(dbgrid1.DataSource.DataSet.FieldValues['date_deb']);
if (MonthOf(dbgrid1.Columns.Grid.Fields[7].AsDateTime)=month) then
begin
stringgrid1.Cells[i,j]:=dbgrid1.Columns.Grid.Fields[i].AsString;
datset.Next; //on passe à la prochaine ligne de la source de données
end;
if stringgrid1.RowCount>1 then stringgrid1.FixedRows:=1; //si il y a au moins une ligne, la première est fixe
end; |
Partager