Tips and Tricks

Labels
AJAX(112) App Studio(8) 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(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(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
Tips and Tricks
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.

A.

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 http://dev.codeontime.com/demo/websitefactory1/pages/categories.aspx. 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.

image

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.

image

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

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

A.

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.

http://localhost:18443/HistoryDemo/Pages/Products.aspx?DoIt=339

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.

Friday, July 9, 2010PrintSubscribe
Accessing Filters in Business Rules

Q. Where can I get hold of the filter string that was built when the user applied a set of filters in the grid1 view?  If I can grab that then I can pass it to a SQL query to supply a list of multiple Customers for whom I want to pick up all the orders.

A.

The following screenshot shows the application with the selected master Suppliers record and filtered detail Products records.  This is the same application that was discussed at /blog/2010/06/refreshing-master-when-detail-changed.html

The user has just edited a detail Products record and pressed the Save button.

image

The following screenshot shows a breakpoint that was set in the project. The breakpoint is activated when user saves the record.

image

If you inspect Arguments property of the business rules class in Watch window of Visual Studio or Visual Web Developer then you can clearly see that a wealth of information about the context of the requested action is available to you, including the current filter that was applied by the application user.

Property Arguments.ExternalFilter provides access to the selected master Suppliers record.

Property Arguments.Filter provides access to the user-defined filter.

Property Arguments.SelectedValues providers access to the primary keys of selected detail Products records presented in the page.

You also have access to the SortExpression and physical values that were submitted from the client browser when Update action has been requested.

image