AJAX

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
AJAX
Tuesday, March 15, 2011PrintSubscribe
MySQL, IIS Express 7.5, Search Bar Improvements

The latest release of Code On Time generator includes significant new features and bug fixes.

Major Features

  • Code On Time generator now fully supports MySQL. Generate sophisticated web applications with native membership support, amazing end user capabilities such as live Excel data feeds, RSS, and on-the-fly reports.
     
  • In an effort to simplify product installation and to offer up-to-date development experience we have integrated support for IIS Express 7.5 in the web application generator. Code On Time generator will automatically use IIS Express to run and test generated applications. IIS Express can be installed on any Windows computer starting with XP and can run side-by-side with the production version of IIS bundled in many versions of Windows.
     
  • Search bars are now enhanced to support the new Search property of data fields. The search bars will no longer display “Hidden” data fields in the field options. The following values of the Search property allow precise control of the search bar behavior:
    • Default – if the field is no hidden then it is allowed to be displayed in the search bar options. Up to three fields are automatically presented on the search bar by default.
    • Required – the field must be presented on the search bar and cannot be left blank. If at least one field is marked as Required or Suggested then only required and suggested fields are displayed in the search bar.
    • Suggested – the field is automatically presented in the search bar when a search bar is activated.
    • Allowed – the field is allowed to be displayed in the search bar. This value may be useful to expose the “hidden” fields in the search bar.
    • Forbidden – the field is not allowed to be displayed in the search bar even if the field is present in the grid / data sheet / tree view.

Bug Fixes and Minor Improvements

  • The application will correctly hide the tab in a form if there are no visible categories.
     
  • Method SqlText.Execute has been renamed to SqlText.ExecuteScalar
     
  • SqlText class has been enhanced with several static methods that make it easy to execute an SQL statement with parameters. The name of the methods are Execute, ExecuteNonQuery, and ExecuteScalar. For example,
    object[] values = MyCompany.Data.SqlText.Execute(
        "select CompanyName, ContactName from Customers where CustomerID = @CustomerID", 
        "ANTON");
    will return Company Name and Contact Name of a customer with ID = “ANTON”.
     
  • An exception raised when registering an activation code has been fixed.
  • Table of Contents user control now adjusts targets of TreeNode elements if the URL is of a page is spelled as “_blank:….” or starts with any other standard browser window name.
     
  • Business rules now support “array” filters. If you enter a view filter as “CustomerID in @CustomerIDList” and implement property CustomerIDList as an array or any enumerable property then the application will expand the filter into “CustomerID in (@p1, @p2,@p3)” if the property is returning three values.
     
  • Code generator will automatically remove read-only flag if detected when generated the project protected by a source control system.
     
  • Membership Business Rules were refactored. All methods are now virtual and can be overridden when needed.
     
  • The bug with conflict detection when read-only fields are present in a view has been resolved.
     
  • Mandatory boolean fields now automatically display first option “(select)” instead of “N/A”.
     
  • If the property ItemsStyle of a mandatory boolean field is set to “CheckBox” then field will correctly render as a check box.
     
  • The speed of metadata processing when generating a project for the first time or when refreshing the metadata to reflect changes in the database is now significantly improved.
     
  • Export as CSV  will use the List Separator of the client UI culture instead of a fixed “comma” character.
     
  • If a form view has more than one column then the form will automatically take enough of real estate of the screen to fit the contents of the form into available space.
     
  • All boxes displayed in the search bar now feature an additional CSS class signifying the purpose of the box. The classes are Summary, TaskList, About, and See Also. This makes it possible to permanently hide the boxes from the UI when needed.
     
  • An exception is no raised if there is an error in the code formula. Previously the application silently ignored the runtime error making it difficult to detect the problem.
     
  • Summary box automatically trims words that are too long to fit in the side bar. This was frequently happening to email addresses and other “long” text sequences with spaces.

Coming Soon

Many new exciting features are coming soon.

  • Data Sheet view will be available in Premium and Unlimited editions of the product to provide a spreadsheet-style data entry.
     
  • Data Pivot capability will allow creating powerful data entry views with side-by-side presentation of categorized values.
     
  • Dynamic Access Control List will be available soon in Unlimited edition. Enterprise class dynamic security system will be available to control access to data on a user and role level without modifying application code.
     
  • Support for Sybase SQL Anywhere is being prepared for release.
      
  • Date Time Picker will be automatically displayed when data format string of a field is G or g.
     
  • New “Purpose” property will be introduced in the fields to allow specifying the business purpose of the field, such as Modified On, Created By, Membership User Name, Phone Number, etc. The code generator will automatically create the necessary business rules to support the expressed purpose of the field.
     
  • Azure Factory code generation project is being finalized and will be available to create applications working with Microsoft SQL Azure.
     
  • Extended support for file uploading is finally coming to conclusion. It will be possible to capture File Name, File Size, File Content Type, and to redirect file storage / retrieval to an external location. Azure Factory applications will use this capability to store uploaded files and annotations in Azure tables.
     
  • Tree View will complement Grid View, Data Sheet, Form, and Chart.
Monday, January 24, 2011PrintSubscribe
Chart View

Code On Time applications now offer a new type of data rendering – “Chart” view. Chart view is just another way of presenting a set of data records retrieved from the database. Chart view supports many end-user features including sorting and adaptive filtering.

image

Creating a Chart View

Generate a new web application from the Northwind database.  Browse the generated web site and select Reports | Sales by Category menu option. The following data view will be displayed. Columns CategoryID, Category Name, Product Name, and Product Sales are visible in the grid view.

image

The data controller is based on the database view dbo.[Sales by Category]. This view is a part of the Northwind database and is defined as follows.

create view [dbo].[Sales by Category] AS
SELECT Categories.CategoryID, Categories.CategoryName, Products.ProductName, 
    Sum("Order Details Extended".ExtendedPrice) AS ProductSales
FROM     Categories INNER JOIN 
        (Products INNER JOIN 
            (Orders INNER JOIN "Order Details Extended" ON 
               Orders.OrderID = "Order Details Extended".OrderID) 
        ON Products.ProductID = "Order Details Extended".ProductID) 
    ON Categories.CategoryID = Products.CategoryID
WHERE Orders.OrderDate BETWEEN '19970101' And '19971231'
GROUP BY Categories.CategoryID, Categories.CategoryName, Products.ProductName

Start the code generator, select the project name, and click Design button.

Select the data controller SalesbyCategory and click on Views tab.

Add a new view, set its Id to chart1, select Chart as view type, and select command1 as command.

Set label to Sales Chart.

Enter “Total sales by product category.”  in the header text.

Save the view and click on its name in the list of available data controller views, select Data Fields tab.

Add new data field with the field name set to CategoryName. Set its Chart property under Miscellaneous section to X. Save the field.

Add another data field with the field name set to ProductSales. Enter letter “c” without double quotes into Data Format String. Set the Aggregate Function property of the data field to Sum. Set its Chart property to Bar (Cylinder).

The list of data views in Designer will look as follows.

image

Exit the Designer and generate your application. Activate the same page and select Sales Chart option in the view selector in the right hand corner of the action bar. The following chart will be displayed.

image

Activate the filter in the view selector and select “Filter…”  item in the popup menu of the Category Name option.

image

Select several filter options to review subset of data presented in the chart.

image

Displaying Multiple Values

The chart view is capable of displaying multiple data series. Let’s add a calculated field to the same data controller to simulate the “Previous Product Sales”.

Select the data controller in Designer and activate Fields tab.

Add a new field with name PreviousProductSales, indicate that the field value is calculated by SQL formula and enter the following SQL formula

cast(ProductSales * Rand() as Numeric(10,2))

into SQL Formula text box.

Set the label of the field to “Previous Product Sales”.  Set its Data Format String to “c” without quotes.

Save the field and select Views tab. Select chart1 in the list of available views.

Bind the new field to the chart1 view and set its properties to make them look as shown in the screenshot. Notice that we are using a different Chart type Column(Cylinder) for ProductSales.

image

Run the generated application. The following chart view will be presented if you activate Sales Chart in the view selector. The actual spline that you will see may look different due to randomization factor of the formula that we have specified to simulate the previous sales.

image

Legend

You can activate a legend if you select the chart view in Designer and mark the check box “Enable legend in the chart area”. The data field header will be used as the text displayed in the chart legend.

image

Custom charts

Chart views are based on the standard Microsoft Data Visualization component included with ASP.NET 4.0. Unlimited customization options are available to developers. You can quickly customize a chart view if you select “Custom” as Chart property of the data field.

All charts are generated as ASP.NET user controls stored in ~/Controls folder of your web application. For example, the name of the chart in this sample is ~/Controls/Chart_SalesbyCategory_chart1.ascx. The name of a chart user control always starts with Chart and includes the name of the data controller and the chart view ID.

“Custom” charts are generated once only. If a “Custom” chart exists then the code generator will not make an attempt to generate the chart again. You can safely modified hundreds of the chart control properties.

What’s Next

The upcoming updates of the code generation library will include support for Filter Groups on the view level to allow transitioning of grid view data filters applied to a selected chart view and vice versa. Additional chart types will also be supported. We are also working on bring interactive features of the chart such as tool tips and hyperlinks into the code generation library.

Tuesday, December 28, 2010PrintSubscribe
Multiple Value Filters

Code On Time applications now support multiple value adaptive filters that can be activated from the context menu of a columns in a grid view and in a search bar.

The screen shot below shows new Filter option in the context menu of Category Name column or the Products page.

image

The menu option will activate a a selection window similar to the one below.

image

Displayed options are sensitive to the presence of other filters. The window automatically adapts the list of available options.

Here you can see the products filtered by Category Name and Supplier Company Name. Both fields are filtered by multiple values.

image

If you activate the search bar by clicking on the arrow next to the Quick Find field then the new “include” function is selected in the relevant search parameter. Click on any of the filter options in the search value field of a parameter to activate the option selection window.

image

Notice that options presented in the selection window are sensitive to search criteria entered on the search bar if the window has been activated from the search bar.

image

Multiple value filtering works with all data types including numbers and dates. The next screen shot shows products further restricted to those with Reorder Level of “0” and “10”.

image

Users can collapse the search bar and further refine the search results using the Quick Find search box.

Multiple value filtering significantly simplifies development of data aware applications and saves tremendous amount of time required to develop a similar functionality from scratch. Multiple value filtering requires no programming and is automatically available in all views of your application.