Avatar billede no-shit Nybegynder
27. februar 2002 - 21:11 Der er 3 kommentarer og
1 løsning

Udskriv enkelte data fra en StringGrid

Jeg har nu fundet frem til at udskrive hele mit stringGrid men vil gerne udfra Checkboxes kunne vælge hvilke data der skal udskrives. Min kode ser sådan ud:

procedure TFormUdskriv.PrintGrid(sGrid: TStringGrid; sTitle: string);
var
  X1, X2: Integer;
  Y1, Y2: Integer;
  TmpI: Integer;
  F: Integer;
  TR: TRect;
begin
  Printer.Title := sTitle;
  Printer.BeginDoc;
  Printer.Canvas.Pen.Color  := 0;
  Printer.Canvas.Font.Name  := 'Times New Roman';
  Printer.Canvas.Font.Size  := 12;
  Printer.Canvas.Font.Style := [fsBold, fsUnderline];
  Printer.Canvas.TextOut(0, 100, Printer.Title);
  if checkbox1.Checked then
  for F := 0 to sGrid.ColCount - 1 do
  begin
    X1 := 0;
    for TmpI := 0 to (F - 1) do
      X1 := X1 + 5 * (sGrid.ColWidths[TmpI]);
    Y1 := 300;
    X2 := 0;
    for TmpI := 0 to F do
      X2 := X2 + 5 * (sGrid.ColWidths[TmpI]);
    Y2 := 450;
    TR := Rect(X1, Y1, X2 - 30, Y2);
    Printer.Canvas.Font.Style := [fsBold];
    Printer.Canvas.Font.Size := 7;
    Printer.Canvas.TextRect(TR, X1 + 50, 350, sGrid.Cells[F, 0]);
    Printer.Canvas.Font.Style := [];
    for TmpI := 0 to sGrid.RowCount - 1 do
    begin
      Y1 := 150 * TmpI + 300;
      Y2 := 150 * (TmpI + 1) + 300;
      TR := Rect(X1, Y1, X2 - 30, Y2);
      Printer.Canvas.TextRect(TR, X1 + 50, Y1 + 50, sGrid.Cells[F, TmpI]);
    end;
  end;
  Printer.EndDoc;
end;
--------------------------------------------------------Det skal siges at der er 13 checkboxes som bør tjekkes for at se hvilke data der skal printes.
Avatar billede stoney Nybegynder
27. februar 2002 - 21:30 #1
Det er bare lige et hurtigt skud fra hoften.
Kan du ikke bare sætte kolonne bredde til 0 på dem du IKKE vil have
printet ud.

PrintGrid.ColWidths[2] := 0;

Stoney
Avatar billede no-shit Nybegynder
27. februar 2002 - 21:39 #2
Jo det vil jeg tro, men som koden er lavet løber den jo bare alle kolonnerne igennem. Kan ikke helt se hvordan jeg kan få checked indført.
Avatar billede no-shit Nybegynder
28. februar 2002 - 11:05 #3
Har fundet frem til noget "grimt" kode som virker.
Avatar billede ultimatesvansi Nybegynder
15. december 2003 - 13:31 #4
No-Shit....Det er da vist ikke "DIN" kode. Den er taget fra nettet.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester