in Search
     
Latest post 03-21-2007 3:12 AM by lamia. 7 replies.
Page 1 of 1 (8 items)
Sort Posts: Previous Next
  • 03-15-2007 5:07 PM

    • smash
    • Top 25 Contributor
    • Joined on 11-28-2005
    • Davao City, Philippines
    • Posts 202
    • Points 2,290

    A new home, a new beginning

    Ever since the announcement was made that GotDotNet was about to close its doors, I was hoping that I can move ClassicReports here in DevPinoy.  I am grateful to Keith for accomodating my request and I can't thank him enough.  God bless you bro!  

    I would like to take this opportunity to invite those who have used or are just plain curious about ClassicReports to post in this forum.  I will do my best to answer all your queries here. 

    Long live DevPinoy!

    • Post Points: 20
  • 03-15-2007 8:10 PM In reply to

    • lamia
    • Top 10 Contributor
    • Joined on 06-20-2006
    • Sampaloc, Manila
    • Posts 752
    • Points 13,185

    Re: A new home, a new beginning

    Ok, my first question. What is ClassicReports? :)

     

    Convert limitations to great expectations... You are the creative force of your life...

    • Post Points: 20
  • 03-15-2007 8:50 PM In reply to

    • smash
    • Top 25 Contributor
    • Joined on 11-28-2005
    • Davao City, Philippines
    • Posts 202
    • Points 2,290

    Re: A new home, a new beginning

    lamia:
    Ok, my first question. What is ClassicReports? :)


    hi lamia.  well ClassicReports is actually a set of .NET controls created by yours truly to automate the tedious process of handcrafting reports that are to be printed on a dotmatrix printer.  Included is report designer control which you can embed on your application - if you have a need for that functionality. the report schema is XML formatted. the report schema is consumed by the report engine (also a control)  and uses it as a template  for formatting the report.  Also included is a Report Preview control so your users can preview reports before printing. 

    below is a screenshot of the designer

    below is a screenshot of the preview control

    • Post Points: 20
  • 03-16-2007 6:12 PM In reply to

    • dehran ph
    • Top 10 Contributor
    • Joined on 09-13-2005
    • Makati, Philippines
    • Posts 266
    • Points 4,955

    Re: A new home, a new beginning

    hi master, i think most of the time the preview and and runtime designer is not needed. can we have a demo of using ClassicReports using its plain APIs to set the datasource, groupings, summary and printing. Are there any restrictions or issue if I use this on POS printers and not dotMatrix pinters.

    Also, what's the licensing models?
    Rodel E. Dagumampan Software Engineer - ASP.NET/C# Bel-air, Makati, Philippines Email : dehranphATgmail.com Tel No : +63 918 2025 694
    • Post Points: 20
  • 03-16-2007 10:25 PM In reply to

    • smash
    • Top 25 Contributor
    • Joined on 11-28-2005
    • Davao City, Philippines
    • Posts 202
    • Points 2,290

    Re: A new home, a new beginning

    hi rodel.  Yes you really dont need to include the designer control in most apps. The only time you really need it is when you have to do the layout of a particular report.  Normally when you're done with the layout of a report you have to store the report schema somewhere, either to a file, a string item in a resource file, or a table in a database.    When it's time to run the report all you have to do is feed this schema (a string value) to a ReportComposer object so it will know how to format your report.  eg:  reportComposer.Execute(schema)   

    When I was designing the ReportComposer, I wrestled with the idea of including a Datasource property.  It would have been nice since all you have to do is set the Datasource property  to a DataSet or an IList perhaps then call the Execute method.  But things got too complicated in a hurry and so I settled to calling two events whenever the ReportComposer needed some data.  These two events are InitData and ReadData.  

    Here's an example of how to print a report programmatically. 

    void PrintReport()
    {
      ReportComposer composer = new ReportCOmposer();
      composer.InitData += OnInitData;
      composer.ReadData += OnReadData;
      composer.Execute(GetSchema());
      PrintService printService = new PrintService(composer);
      printService.PrintAll();
    }
    
    void OnInitData(object sender, ReportComposerEventArgs e)
    {
      e.Count = GetRowCount();
    }
    
    void OnReadData(object sender, ReportComposerEventArgs e)
    {
      e.Value = GetValue(e.ColumnName, e.Index)
    }
    
    string GetSchema()
    {
      // return report schema
    }
    
    int GetRowCount()
    {
      // return row count
    }
    
    object GetValue(string name, int index)
    {
      // return value from datasource
    }
    
    

    Regarding the issue of exposing an API so you can programmatically layout a report, I thought they're unnecessary since it really defeats the purpose of making the whole process of crafting a report as painless as possible.  What I have is a ReportSchema class which converts the report schema (an xml document) into its runtime equivalent eg: groups, bands, widgets.

    I will be posting a Quickstart document as soon as I finish writing the whole thing.  About licensing issues, ClassicReports is freeware and I have no intention of suing anybody.   I  have not tested this on POS printers so no comment on that.  :)

     

    • Post Points: 20
  • 03-19-2007 4:27 AM In reply to

    Re: A new home, a new beginning

    hey smash,

    Maybe you can have it(source code) hosted either in SourceForge or Google Code and grant read-only access to the source via SubVersion. I've been cooking up (vb6->c#) a report writer for dot-matrix only printers since we're churning out big reports. I'm trying to implement a report file acting as a template and an NVelocity as the templating engine.

    Maybe we can collaborate with the project and help out especially with the docu which is sorely lacking.

    Regards

     

    Bonski's Box

    • Post Points: 20
  • 03-19-2007 11:35 PM In reply to

    • smash
    • Top 25 Contributor
    • Joined on 11-28-2005
    • Davao City, Philippines
    • Posts 202
    • Points 2,290

    Re: A new home, a new beginning

    hi bonski.  Still can't make it work?  :)   I'm still working on the Quickstart doc, in the meantime just experiment with the Behavior and Data properties of the Field control. 

    I still have to make up my mind whether to release the code or not, but I'll probably do that when I feel it's mature enough.  :)

     

    • Post Points: 20
  • 03-21-2007 3:12 AM In reply to

    • lamia
    • Top 10 Contributor
    • Joined on 06-20-2006
    • Sampaloc, Manila
    • Posts 752
    • Points 13,185

    Re: A new home, a new beginning

    Cool! The project very well resembles the name.

     

    Convert limitations to great expectations... You are the creative force of your life...

    • Post Points: 5
Page 1 of 1 (8 items)