Subject |
Re: REPORT GROUPING ON FIELDS |
From |
Mustansir Ghor <mustan31@hotmail.com> |
Date |
Fri, 23 Jun 2017 04:42:59 -0400 |
Newsgroups |
dbase.getting-started |
Dear Akshat
Thank you.
It is very useful information. I wonder if you dont use report engine how do you manage your printing. Is there other way of printing
Best Regards
Mustansir
Akshat Kapoor Wrote:
> On 22/06/2017 18:32, Mustansir Ghor wrote:
> > Dear all
> >
> > how Can we make grouping on calculated fields in reports.
> >
> > Example we want to create a new stream frame as group for Customer listing based on the first character of Name. eg group based on LEFT(name,1)
> >
> > Regards
> > Mustansir
> >
> Hello Mustansir,
> The method I am about to outline is slightly out of the box.
>
> Design a datamodule for the rowset you are using in the report.
> In the data module add a calculated field to the rowset.
>
> When you use this data module in your report this calculated field is
> available for data grouping just like any of the other normal fields of
> the table.
>
> I am still not very fluent in designing reports hence unable to send you
> a sample report.
>
> But attaching a datamodule.
>
> With small changes in sql and field names this should work for you or
> you can design a data module.
>
> Instructions for adding a calculated field are also there in Ken's book.
> (If you have a pdf then go to page no. 182 or if hard copy then go to
> page 162 volume 1 )
>
> Hope you are able to understand my out of the box thinking.
> Regards
> Akshat
>
> ** END HEADER -- do not remove this line
> //
> // Generated on 25.02.2017
> //
> class inveDATAMODULE of DATAMODULE
> this.INVE = new QUERY(this)
> with (this.INVE)
> onOpen = class::INVE_ONOPEN
> left = 291.0
> top = 22.0
> sql = 'Select * from "inve16.dbf"'
> active = true
> endwith
>
> with (this.INVE.rowset)
> with (fields["full"])
> beforeGetValue = {||iif(this.parent["company"].value#null ,left(this.parent["company"].value,1),"1")}
> endwith
> autoNullFields = false
> endwith
>
> function inve_onOpen()
> g = new field()
> g.fieldname = "full"
> this.rowset.fields.add(g)
> g.beforegetvalue = {||iif(this.parent["company"].value#null ,left(this.parent["company"].value,1),"1")}
>
> return
>
> endclass
>
>
|
|