Blog: Posts from December, 2012

Labels
AJAX(112) App Studio(7) 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(177) 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(183) 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(2) 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
Posts from December, 2012
Sunday, December 30, 2012PrintSubscribe
Changing Values on Edit

Client-side business rules allow changing the value of a field without having to save it to the database. This way, the user can either approve the value, change it, or leave the original data intact.

Let’s add 7 days to the Order Date of an order when a user starts editing.

Start the Project Designer. In the Project Explorer, switch to the Controllers tab. Right-click on Orders / Business Rules node, and press New Business Rule.

Creating a new business rule for Orders controller.

Assign the following values:

Property Value
Type JavaScript
Command Name Edit
Phase After
Script
var d = [OrderDate];
if (this.dataView().get_isEditing() && d != null) {
    d.setDate(d.getUTCDate() + 7);
    d.setHours(0);
    [OrderDate] = d;
}

The business rule will get the current date value of OrderDate, add 7 days, and assign the value.

Press OK to save. On the toolbar, press Browse. Navigate to the Orders page. Note the Order Date of a specific record.

Highlighting an order record and noting the Order Date.

Start editing the the record. The Order Date will be moved forward by 7 days from the original value.

When the order is edited, the Order Date is moved forward by 7 days.

If the user presses Cancel at this time, the Order Date will not be changed. If the user saves the record, the new value will be applied.

Order record with new order date.

Sunday, December 30, 2012PrintSubscribe
Exclude from Menu & Include In Menu

It is not necessary for all application pages to be visible in the navigation menu. These “system” pages may be accessed by a link from another page or a redirection via the Navigate action.

Exclude From Menu

Let’s exclude the Customer Demographics page from the navigation menu.

'Customer Demographics' navigation menu item.

Start the Project Designer. In the Project Explorer, right-click on Customer Demographics page node, and press Exclude From Menu.

Using the 'Exclude from Menu' context menu option for 'Customer Demographics' page.     'Customer Demographics' page is now excluded from the menu.

On the toolbar, press Browse. Notice that the Customer Demographics page is no longer present in the navigation menu.

'Customer Demographics' page not present in the navigation menu.

The page may still be accessed by the URL ~/Pages/CustomerDemographics.aspx.

Page 'Customer Demographics' is still accessible via the URL.

Include in Menu

Let’s restore the page to the navigation menu. Switch back to the Project Designer. Right-click on Customer Demographics node, and press Include in Menu.

Using the 'Include in Menu' context menu option for 'Customer Demographics' page.     'Customer Demographics' page is now included the menu.

The page will be included at the end of the menu. Let’s move it back to the original position. Drop Customer Demographics node on the right side of Categories node.

Dropping 'Customer Demographics' page on the right side of 'Categories' page.     'Customer Demographics' page placed after 'Categories'.

On the toolbar, press Browse. The Customer Demographics navigation menu item will have been restored.

'Customer Demographics' page now present in the navigation menu.

Saturday, December 29, 2012PrintSubscribe
Pre-selecting Fields for Update

When a user is performing a batch edit on several fields, they must check “update” boxes next to the fields that will be updated. These boxes are unchecked by default.

Batch edit in form with two fields to be updated.

Let’s change the default state of the checkboxes to be enabled when the form loads.

Start the Project Designer. In the Project Explorer, switch to the Controllers tab. Right-click on Suppliers / Business Rules and press New Business Rule.

New business rule for Suppliers controller.

Use the following configuration:

Property Value
Type JavaScript
Command Name Select
Command Argument editForm1
Phase After
Script
if (this.dataView().get_lastCommandName() == 'BatchEdit') {
    $('.DataView.Suppliers_editForm1 input:checkbox')
        .attr('checked', 'checked');
}

Press OK to save. On the toolbar, press Browse.

Navigate to the Suppliers page and check the box next to several rows. Press Batch Edit (Form) option in a row context menu.

Activating the 'Batch Edit (Form)' context menu option.

When the form loads, all “update” checkboxes will be enabled.

All checkboxes are checked when the form is loaded.