Blog: Posts from July, 2010

Posts from July, 2010
Friday, July 23, 2010PrintSubscribe
Displaying Picture Field in Summary And Not in Grid

Q. What is the secret to displaying an image in the summary pane but hide it in the grid?
I can get the photo to display in the summary and grid, but not the summary only.


The summary requires the field to be physically present in the grid/form view.

The secret is to display an invisible picture field in the grid instead of hiding the field altogether.

For example, suppose you have generated the Northwind sample application with Web Site Factory. The grid view of product categories will show each category inline as you can see at If you select a category then the category Picture will be displayed in the summary on the side bar as well.

Open the project in Visual Studio and expand ~/App_Themes folder. Add new CSS file StyleSheet.css in the project.


Enter the following CSS rule:

.DataView .Cell.Picture, .DataView .FieldHeaderSelector.Picture
    display: none;

Save the file.

Run the program and observe the Picture field to disappear from presentation when you select a category.


Thursday, July 22, 2010PrintSubscribe
Access URL Parameters in Business Rules

Q. Hello - I am calling a createform view generated by COT from another application. Within my create form there are couple of lookup values that we want to default based on selections made from our application. Is there a way to pass default values through
url? Or are the default values only for filtering?


Default values for new rows can be assigned based on the database content, parameters passed in the URL, and values stored in user session.

Please take a look at /Documents/Appointment%20Manager.pdf. On page 13 you will find the business rules method AssignDefaultSalesman.

The method is using BusinessRules.UpdateFieldValue to assign default values to the fields of the new record. The example shows how to make a database request to retrieve the value.

You can create a similar method following the technique described in the article and read parameters that were passed in the URL using one of the three methods shown in the sample business rules method below:

[RowBuilder("Products", RowKind.New)]
public void AssignDefaultValues()
    // method 1
    string doIt = (string)SelectExternalFilterFieldValue("DoIt");
    // method 2
    string doIt2 = (string)SelectFieldValue("DoIt");
    // method 3
    string doIt3 = null;
    foreach (FieldValue v in Request.ExternalFilter)
        if (v.Name.Equals("DoIt"))
            doIt3 = (string)v.Value;

The example assumes that a new row is created when a user has accessed the  URL with the parameter DoIt in it.


The first method uses SelectExternFilterFieldValue to find the value of the external filter.

The second method uses a more generic SelectFieldValue that lookups up any available field values including the values in the current row and any action arguments or external filters.

The third approach is to iterate through the items in Request.ExternFilter array to detect the presence of the parameter in the URL.

It is not possible to use Context.Request.Params since the method is executed in response to a web service request that arrives from the client asynchronously when user clicks on New button. The client library collect any URL parameters and passes them to the method as Request.ExternalFilter array of values.

You can also use Context.Session object to access any session variables that were stored in the session previously.

Tuesday, July 20, 2010PrintSubscribe
History of Most Recent Used Objects

Users interact with data in mysterious ways. No matter how thorough you are it is virtually impossible to predict every working pattern of a given user role that you are planning to implement in your application. The ability to recall the most recent used data objects quickly can make or break your business application.

Fortunately, if you application is created with Code OnTime Generator then you are able to offer the history of most recent used objects with no effort at all. New History link presented in the left-hand corner of the membership bar may be enabled in your application to allow instant recall of master records that were ever selected by end users.

Here is a screen shot of the Northwind application sample. You can see the History link right next to Permalink at the top of the page.


If you navigate through application pages and select a few records then a simple click on a History link will transform the currently presented page is follows.


If you click on the Rotate button presented on top of the last data record summary card or press Tab key then the summary cards of most recently used data objects will rotate. The history depth is 20 data records.

If you mouse over any visible card the card will be brought into focus. You can see the summary card of Confections category on top of the other cards in the stack.


If you press Esc key or click anywhere on the semi-transparent background of the page then the most recent used history will close.

If you click on a card then you will be redirected to the selected data object. 


The multi-functional pages of your application will start displaying the selected record only when activated from the history. Select the corresponding page option on the menu bar to force the page to present a list of records to restore the default page functionality. Use browser’s Back button or Close/Cancel buttons on the master form to return back to the previously activate page.

Continue to Permalinks