Designer

Labels
AJAX(112) App Studio(9) Apple(1) Application Builder(245) Application Factory(207) ASP.NET(95) ASP.NET 3.5(45) ASP.NET Code Generator(72) ASP.NET Membership(28) Azure(18) Barcode(2) Barcodes(3) BLOB(18) Business Rules(1) Business Rules/Logic(140) BYOD(13) Caching(2) Calendar(5) Charts(29) Cloud(14) Cloud On Time(2) Cloud On Time for Windows 7(2) Code Generator(54) Collaboration(11) command line(1) Conflict Detection(1) Content Management System(12) COT Tools for Excel(26) CRUD(1) Custom Actions(1) Data Aquarium Framework(122) Data Sheet(9) Data Sources(22) Database Lookups(50) Deployment(22) Designer(178) Device(1) DotNetNuke(12) EASE(20) Email(6) Features(101) Firebird(1) Form Builder(14) Globalization and Localization(6) How To(1) Hypermedia(2) Inline Editing(1) Installation(5) JavaScript(20) Kiosk(1) Low Code(3) Mac(1) Many-To-Many(4) Maps(6) Master/Detail(36) Microservices(4) Mobile(63) Mode Builder(3) Model Builder(3) MySQL(10) Native Apps(5) News(18) OAuth(9) OAuth Scopes(1) OAuth2(13) Offline(20) Offline Apps(4) Offline Sync(5) Oracle(11) PKCE(2) Postgre SQL(1) PostgreSQL(2) PWA(2) QR codes(2) Rapid Application Development(5) Reading Pane(2) Release Notes(184) Reports(48) REST(29) RESTful(29) RESTful Workshop(15) RFID tags(1) SaaS(7) Security(81) SharePoint(12) SPA(6) SQL Anywhere(3) SQL Server(26) SSO(1) Stored Procedure(4) Teamwork(15) Tips and Tricks(87) Tools for Excel(3) Touch UI(93) Transactions(5) Tutorials(183) Universal Windows Platform(3) User Interface(338) Video Tutorial(37) Web 2.0(100) Web App Generator(101) Web Application Generator(607) Web Form Builder(40) Web.Config(9) Workflow(28)
Archive
Blog
Designer
Wednesday, December 9, 2009PrintSubscribe
Custom RDLC Reports for AJAX Web Apps

Data Aquarium Framework automatically creates RDLC reports in WYSIWYG style at runtime for any data grid views and replicates sort order and filters specified by the end users.

Try it live at http://dev.codeontime.com/demo/websitefactory1/pages/products.aspx.

You can quickly create custom reports that have the same behavioral properties.

Custom RDLC Reports for AJAX Web Apps (Data Aquarium Framework)

Watch this video on our YouTube channel at http://www.youtube.com/user/codeontime#p/u/5/Gli45vikyOU.

The Framework automatically creates in-memory report definitions by applying standard ~/Reports/Template.xslt stylesheet to XML data controllers of your application at runtime when a user requests a report.  Such reports are created in RDLC format. RDLC is the technology available in Microsoft Reporting Services, a component of Microsoft SQL Server.

Learn more about Microsoft Reporting Services:
http://www.amazon.com/gp/search?ie=UTF8&tag=ie8search-20&index=blended&linkCode=qs&camp=1789&creative=9325&keywords=reporting+services+2008.

First, the Framework creates a System.Data.DataTable class instance and populates it with the data displayed in the grid with filters and sort order applied. Next, the instance of Microsoft.Reporting.WebForms.LocalReport class is created and supplied with the report definition, data table, and output format. The instance of this object will render the actual report file.

The code of the report engine that performs these steps is in ~/Report.ashx file in the root of project created by Code OnTime Generator.

The custom report option in the video can be also defined without Code OnTime Designer as shown in the snippet of ~/Controllers/Products.xml data controller.

<actionGroup id="ag7" scope="ActionBar" headerText="Report">
  <action id="a1" commandName="ReportAsPdf" headerText="PDF Document" 
        description="View items as Adobe PDF document.&lt;br/&gt;Requires a compatible reader." />
  <action id="a2" commandName="ReportAsImage" headerText="Multipage Image" 
        description="View items as a multipage TIFF image." />
  <action id="a3" commandName="ReportAsExcel" headerText="Spreadsheet" 
        description="View items in a formatted&lt;br/&gt;Microsoft Excel spreadsheet." />
  <action id="a100" commandName="ReportAsPdf" commandArgument="Products.rdlc" headerText="Custom Products Report" causesValidation="true" 
        description="This is a custom report" />
</actionGroup>

If the command argument does not include path information then the framework makes an assumption that the report is in ~/Reports folder. You can store reports in any other location under the root of your website. Just make sure that the relative path of the report is included along with the report name (for example, ~/MyLocation/MyFolder/MyReport.rdlc).

You can also customize the standard ~/Reports/Template.xslt and create alternative automatic templates. If the XSLT stylesheet name is specified as a command argument of action then Data Aquarium Framework will attempt to create a report definition on the fly using your custom stylesheet and then proceed with rendering of report in the specified output format.

Tuesday, December 8, 2009PrintSubscribe
Aggregates in Grid Views

Learn how to enable aggregates in applications created with Web Site Factory code generation project and Code OnTime Designer. Aggregates deliver business intelligence and work with adaptive filtering.

Aggregates in ASP.NET/AJAX Web Applications

Here is a snippet of Products data controller that enables aggregates for grid1 view as shown in video.

<view id="grid1" type="Grid" commandId="command1" label="Products">
  <headerText>This is a list of products. </headerText>
  <dataFields>
    <dataField fieldName="ProductName" columns="40" />
    <dataField fieldName="SupplierID" aliasFieldName="SupplierCompanyName" aggregate="Count"/>
    <dataField fieldName="CategoryID" aliasFieldName="CategoryCategoryName" />
    <dataField fieldName="QuantityPerUnit" columns="20" />
    <dataField fieldName="UnitPrice" dataFormatString="c" columns="15" aggregate="Average"/>
    <dataField fieldName="UnitsInStock" columns="15" aggregate="Sum"/>
    <dataField fieldName="UnitsOnOrder" columns="15" />
    <dataField fieldName="ReorderLevel" columns="15" />
    <dataField fieldName="Discontinued" />
  </dataFields>
</view>
Sunday, September 27, 2009PrintSubscribe
Announcing Application Factory Projects

We are announcing two new premium projects, Web Application Factory and Web Site Factory. Both projects are based on Data Aquarium Framework and include automatic generation of web pages with advanced layouts selected at the time of code generation.

The pages of generated projects will feature a new component MenuExtender. The component will provide an advanced menu with unlimited levels, full keyboard support, advanced smart positioning to detect overlapping and screen size limits, and virtually identical rendering in major browsers. The component works with SiteMapDataSource and benefits from the ease of maintenance, security trimming, and navigation system customization features provided by ASP.NET.

All generated applications will be styled to mimic Microsoft SharePoint user interface, including page layouts, to provide a consistent “professional” look and feel out of the box. All styles are based on CSS and can be enhanced or replaced to provide alternative presentation.

A dedicated page will be created for each database table of the project with standard layouts selected by user and consistently applied to all pages. The layouts will include various master-detail options and tabbed presentation.

Both projects are functionally identical and will differ in implementation details. The first premium project will produce a Visual Studio web application project. The second premium project will create a Visual Web Developer web site project.

Designer Support for Site/Application Factory Projects

Code OnTime Designer will include designers to allow full customization of standard Data Aquarium settings and page layouts.

Users will be able to customize layouts of any page, create new pages, and retain customization over subsequent sessions of code generation.

A page is constructed out of containers activated by side bar links, a tab, or visible at all times. A multi-column layout of containers is supported.

Each page also features a collection of views that are pointing to views in Data Aquarium controllers.

A page view may expose the data controller data fields as a summary on the side bar.

A master-detail relationship may be established between page views to allow creation of master-detail pages with unlimited depth.

A page may also list a collection of ASP.NET user controls. Each user control has a name and is bound to a page container. A user control provides a basic unit of customization to create new code without losing ability to design applications visually. The code generator will create a corresponding ASP.NET *.ascx file for each user control only if the file does not exist yet.

New Features

Data Aquarium Framework will include a new AJAX components Web.HoverMonitor and Web.Menu located in the new script Web.Menu.js. The new components are a foundation for MenuExtender in new premium projects. Component Web.HoverMonitor replaces DropDownBehavior from AjaxControlToolkit that has been previously used to provide popup menus in the framework’s user interface. This will further increase the speed of rendering, responsiveness of user interface, full keyboard support, smart positioning, and identical rendering in major browsers.

The code generator speed has been increased to prevent re-generation of code files that will remain unchanged since the last code generation session.

Code OnTime Designer will include support for action groups and security settings available in Data Aquarium Framework application.

Availability

New premium projects will be released on October 19, 2009. Current premium project subscribers will automatically receive an update availability notification. Current Code OnTime Designer subscribers will also receive the designer updates at the same time.

Future

The future release of updates will include support for Microsoft Access and My SQL databases. The tentative availability date is set to November 23, 2009.

We are also evaluating support for deployment of Application Factory projects to Microsoft Azure.

Please post your comments about the new features and directions that you want us to explore.