Re: labels and quickreports
Martin <[email protected]> Tue, 04 Mar 2003 19:36:41 +1100
| Newsgroups | gmane.comp.lang.delphi.quick-reports |
|---|---|
| Message-ID | <[email protected]> |
i have tried the changes you have suggested but now the OnNeedData event doesnt seem to be getting fired as the report goes into preview state. At 11:33 PM 3/03/03 -0800, you wrote: >On Mon, 03 Mar 2003 23:24:21 -0800 (PST), Martin wrote: >Hi, > >I think you need to expand your OnNeed a bit. > > inc(giIndex); // Always !! > if giIndex = giStartLabel then // First label to print > qryDetail.First > else if giIndex > giStartLabel then // Next label to print > qryDetail.Next; > > QRDBText1.Enabled := (giIndex >= giStartLabel); // Enable only when > we want to print > QRDBText2.Enabled := (giIndex >= giStartLabel); // same > QRDBText3.Enabled := (giIndex >= giStartLabel); // same > > MoreData := (not qryDetail.EOF); // is there more data in the dataset ? > >Greetings Andre Mens (Author of QReport Artist) > >[email protected] >www.mensand.com Home of QuickReport Artist The enduser editor for all >your QuickReports > >[email protected] >www.rapware.com Home of all EASY products > like EASY MAPI your Email sollution provider > and EASY Script Studio Customizations sollution for your applications > with a compleer IDE > and EASY SOAP expand your apps with WEB Methods without writing a > single line of CODE > > > > > > i have had a look on the companion cd. i have managed to do what i want > but > > with some side effects. because what i am doing is initially disconnecting > > the dataset before i preview the report. and in my OnNeedData i have this: > > > > if giIndex < giStartLabel then > > begin > > Inc(giIndex, 1); > > QRDBText1.Enabled := False; > > QRDBText2.Enabled := False; > > QRDBText3.Enabled := False; > > end > > else > > begin > > if rptLabels.DataSet = nil then rptLabels.DataSet := qryDetails; > > QRDBText1.Enabled := True; > > QRDBText2.Enabled := True; > > QRDBText3.Enabled := True; > > end; > > MoreData := True; > > > > both giIndex and giStartLabel are global variables of integer initialised > > to 1, but giStartLabel will be changed depending on what is passed into > the > > calling procedure. which looks like this > > > > procedure PrintLabels(piJobNo: Integer; pbPrint: Boolean; AOwner: > TComponent); > > var lsResult: String; > > const > > csSelect = 'Select * From Details Where JobNo = %d'; > > begin > > giIndex := 1; > > lsResult := InputBox(Application.Title, 'Enter Start label > position', '1'); > > if (Trim(lsResult) <> '') and (StrToIntDef(lsResult, 0) > 0) then > > giStartLabel := StrToInt(lsResult); > > > > frmLabels := TfrmLabels.Create(AOwner); > > with frmLabels do > > begin > > qryDetails.SQL.Text := Format(csSelect, [piJobNo]); > > qryDetails.Open; > > > > // logic to disconnect the query component from the detail until > > // set number of labels has been met. > > if giStartLabel > 1 then > > rptLabels.DataSet := nil; > > > > if pbPrint then > > rptLabels.Print > > else > > rptLabels.Preview; > > end; > > FreeAndNil(frmLabels); > > end; > > > > then end result is that it starts at the correct position but it doesnt > > reconnect the Dataset back up correctly and keeps producing labels until i > > cancel the report. > > >============================================= >QReport Artist 5 - http://www.mensand.com/ >The new version is available for Delphi 5.0 , >Delphi 4.0 and Delphi 3, BC++Builder 3.0. and BC++Builder 4.0 >============================================= > >Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/ > > > > >--- >Incoming mail is certified Virus Free. >Checked by AVG anti-virus system (http://www.grisoft.com). >Version: 6.0.459 / Virus Database: 258 - Release Date: 25/02/03 ---------- --- Outgoing mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.459 / Virus Database: 258 - Release Date: 25/02/03 [Non-text portions of this message have been removed] ------------------------ Yahoo! Groups Sponsor ---------------------~--> Get 128 Bit SSL Encryption! http://us.click.yahoo.com/LIgTpC/vN2EAA/xGHJAA/i7folB/TM ---------------------------------------------------------------------~-> ============================================= QReport Artist 5 - http://www.mensand.com/ The new version is available for Delphi 5.0 , Delphi 4.0 and Delphi 3, BC++Builder 3.0. and BC++Builder 4.0 ============================================= Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/