Content by Category
.NET 1.x
.NET 2.0
.NET 3.0
.NET 3.5
.NET 4.0
.NET Assemblies
.NET Framework
.NET Getting Started
Accessibility
ADO.NET
Advertorials
Agile Development
AJAX
Architecture
ASP.NET
ASP.NET MVC
ASP.NET WebForms
Azure
B2B (Business Integration)
Bing
BizTalk
Book Excerpts
Build and Deploy
C#
C++
ClickOnce
Cloud Computing
Code Contracts
CODE on the Road!
COM+
Community
Conferences
Continuous Integration
Crystal Reports
CSLA.NET
CSS
Data
Design Patterns
Development Process
Display Technologies
Distributed Computing
DotNetNuke
DSL
Dynamic Programming
Editorials
Enterprise Services ("COM+")
Entity Framework
Events
Expression Blend
F#
Fox to Fox
Frameworks
Functional Programming
Git
Graphics
Internet Explorer 8.0
Interviews
iPhone
Iron Ruby
Java
Java Script
jQuery
LINQ
Linux
Mac OS X
MDX
Microsoft Application Blocks
Microsoft Business Rules Framework
Microsoft Dynamics
Microsoft Expression
Microsoft Office
Mobile Development
Mobile PC
Mono
MsBuild
Network
NHibernate
Object Oriented Development
Open Source
Opinion
Opinions
Oracle
ORM
Other Languages
Parallel Programming
Patterns
Podcasts
Post Mortem
PowerPoint
Print/Output
Product News
Product Reviews
Project Management
Python
Q&A
Rails
Rake
Reporting Services
REST
RIA Services
Ruby
Ruby on Rails
Search
Security
Services
SharePoint
Silverlight
SOA
Social Networks
Software & Law
Software Business
Source Control
Speech-Enabled Applications
SQL Server
SQL Server 2000
SQL Server 2005
SQL Server 2008
SQL Server CE/AnyWhere/Mobile/Compact
Subversion
Sync Framework
Tablet PC
TDD
Team System
Techniques
Testing and Quality Control
Tips
UI Design
UML
User Groups
VB Script
VB.NET
Version Control
VFP and .NET
VFP and SQL Server
Virtual Earth
Vista
Visual Basic
Visual Basic 6 (and older)
Visual FoxPro
Visual Studio .NET
Visual Studio 2005
Visual Studio 2008
Visual Studio 2010
Visual Studio Tools for Office
VSX
WCF
Web Development (general)
Web Services
WF
Whitepapers
Windows 7
Windows Azure
Windows Live
Windows Server
Windows Vista
WinForms
Workflow
WPF
XAML
XML
XNA
XSLT



DevConnections


 


Free Webinar

Reader rating:
Click here to read 1 comment about this article.
Article source: CoDe (2007 - Vol. 4 - Issue 1 - Sedna: Beyond Visual FoxPro 9 )


Article Pages:  1  2 3 4 - Next >


Leveraging Sedna Reporting

Sedna’s reporting features have made both the designing and rendering of a VFP report more extensible. In this article you’ll learn about a few of the new rendering objects that Sedna includes such as rotation and hyperlinks. You will also learn how to create your own custom rendering object and how to include a custom Builder interface element for it in the Report Designer.

Visual FoxPro 9 introduced many new reporting enhancements. The most exciting aspect of these enhancements was that you could extend both the Report Designer and the Report Output engines using xBase code. Sedna will introduce even more ways to extend the VFP Reporting Engine.

"
A new Advanced tab has been added to each of the Control Properties dialog boxes.
"

The Report Designer now has the ability to add custom tabs to the Report Designer’s Properties dialog boxes. Prior to Sedna developers could not extend the existing Properties dialogs but they could replace them using the Event Handler Registry. This was problematic because creating a custom Properties dialog is not an easy task and different Properties dialogs, created by different developers, could not be used at the same time. Sedna’s enhancement is a welcome addition for anyone who wants to provide a user interface element in the Report Designer to accompany a custom Report rendering object they have created.

Sedna also makes it easier to extend the Report Output process. REPORTOUTPUT.APP, included with Sedna, provides a way to hook into the report output using custom classes. The new classes are called Handlers and consist of two types: FX and GFX. The FX Handlers provide extended functionality to the report run but do not handle any drawing or rendering to the report canvas. A progress meter would be an example of an FX Handler. The GFX Handlers actually render to the report canvas and provide the ability to either extend the current rendering or replace it all together.

Enhanced Properties Dialogs

Sedna includes several new FX and GFX Handlers as well as new tabs, added to the Control Properties dialog boxes, to accompany these handlers. This provides a user interface for these Handlers at design time.

The next few sections briefly discuss the new tabs included with Sedna.

Document Properties Tab

The FoxPro team added a new tab to the Report Properties dialog called “Document Properties” that shows a list of custom properties that you can set to either store additional information about the document or to control the report rendering into a document. Table 1 provides a brief description of the extended properties included with Sedna.

The property names beginning with “HTML” are specific to HTML output and are currently only supported by the HTMLListener (included in the _ReportListener.vcx FFC library). Any ReportListener that generates documents can use the other property names.

For example, if you set the custom document properties shown in Figure 1, the following text will be included with the generated HTML file if a report is rendered using the HTML Report Listener:

Click for a larger version of this image.

Figure 1: Custom Document Properties from the Report Properties dialog box.

<title>My Custom Report</title>
<META name="description" content="Just a few words about this report">
<META name="author" content="Bo Durban">
<META name="copyright" content="Copyright 2006 CoDe Magazine">
<META name="keywords" content="Visual FoxPro Sedna Reporting">

While this data is not visible on a Web page, this can be useful information when creating document indexes for search engines. Prior to Sedna, there wasn’t a convenient way to include this information in an HTML report document.

You can add custom properties to the property list, but they won’t be recognized by the standard ReportListener. Any new custom properties must be handled by a new custom ReportListener or a custom FX or GFX Handler.

&

By: Bo Durban

Bo Durban is a partner and consultant with Moxie Data, Inc. He has been a software developer for over 13 years with an emphasis on reporting and Web development. He is the author of several reporting utilities including Moxie Objects for Visual FoxPro.

(www.moxiedata.com)

Bo is the project manager for the GDIPlusX project, which is part of VFPX, a community effort to create open source add-ons for Visual FoxPro 9.0

(http://www.codeplex.com/VFPX)

Bo has spoken at Visual FoxPro conferences as well as local user group meetings.

bdurban@moxiedata.com

Fast Facts

Sedna reporting enhancements take the ReportListener class to the next level, making it more practical than ever to customize report output and design.



Table 1: List of custom report properties that are built into the new Report Designer.
PropertyDescription
Document.TitleSpecifies a title for the report document. For HTML output, this will appear as a TITLE tag in the rendered document.
Document.AuthorSpecifies author information for the report document. Appears as a META tag for HTML output.
Document.DescriptionSpecifies a description for the report document. Appears as a META tag for HTML output.
Document.KeywordsSpecifies keywords to include with the report document. Appears as a META tag for HTML output.
Document.CopyrightSpecifies copyright information for the report document. Appears as a META tag for HTML output.
Document.DateSpecifies a date for the report document.
HTML.CSSFileHTML output only. Specifies the name of an external CSS file for the generated document to use.
HTML.Metatag.HTTP-EQUIVHTML output only. Specifies an HTTP-EQUIV tag to include in the HTML output.
HTML.TextAreasOffHTML output only. Suppress the use of TEXTAREA tag for stretch with overflow fields.


Article Pages:  1  2 3 4 - Next Page: 'Advanced Properties Tab' >>

Page 1: Leveraging Sedna Reporting
Page 2: Advanced Properties Tab
Page 3: Adding New Report Functionality
Page 4: Advanced Custom Properties Tab

How would you rate the quality of this article?
1 2 3 4 5
Poor      Outstanding

Tell us why you rated the content this way. (optional)

Average rating:
3.8 out of 5

18 people have rated this article.

      Devscovery

 

Devscovery