Home     About PeterBlum.com     Policies     Download a Licensed Product     Newsletter
Peter's Business Logic Driven UI
The Web Controls of Peter's Business Logic Driven UI
Back to Product Overview  |  Next topic

BLD provides 30 controls in addition to the large library supplied by the rest of Peter's Data Entry Suite.


Controls that manage the page

The page requires a BLDPageManager, DataBound control, and DataSource control. You can use other DataBound and DataSource controls than those listed here.

Control Description
BLDPageManager This control is required on each page. It holds the DataBound Control Adapter classes, which enhances each DataBound control class (like ListView, GridView, DetailsView, and FormView) to apply many typical rules used in data oriented web forms.
BLDCustomizer Provides page-level settings to the Field Templates and Filter Templates, so you don't have to create new templates (or worse, edit existing ones that were correctly setup for other pages). The BLDCustomizer is where you show the currency symbols, right align numeric textboxes, disable buttons on submit, and much more.
BLDListView

A subclass of ListView that uses the Pattern Template feature to mimic the GridView. While the GridView is an easy control to setup, it has a fixed HTML structure which imposes limitations in your user interface. Typically when the GridView’s limitations effect your work, you switch to the ListView and have to reconstruct all of the HTML and controls that were built into the GridView. That’s a lot of work!

BLDListView basically sets up the ListView’s ItemTemplate and other templates, offloading the HTML formatting to the Pattern Template. You will modify the Pattern Template file or specify another one to adjust your user interface, all while still using the simplicity of Automatic Scaffolding or a specifying a list of DataFields to show.

The result is that BLDListView is as easy to setup as GridView, and far more flexible.

BLDFormView

A subclass of FormView that uses the Pattern Template feature to mimic the DetailsView. While the DetailsView is an easy control to setup, it has a fixed HTML structure which imposes limitations in your user interface. Typically when the DetailsView’s limitations effect your work, you switch to the FormView and have to reconstruct all of the HTML and controls that were built into the DetailsView. That’s a lot of work!

BLDFormView basically sets up the FormView’s ItemTemplate and other templates, offloading the HTML formatting to the “DetailsView” Pattern Template. You will modify the Pattern Template file or specify another one to adjust your user interface, all while still using the simplicity of Automatic Scaffolding or a specifying a list of DataFields to show.

The result is that BLDFormView is as easy to setup as DetailsView, and far more flexible.

EntityDAODataSource A DataSource control designed to work with the classes of BLD DataAccessObjects. It helps enforce separation of business logic from user interface by only allowing queries and other CRUD actions that exist on the DataAccessObject class.
LinqDataSource Use with Linq to SQL except when using BLD DataAccessObjects. BLD provides is own version of the native control, with extensions to handle Entity Filters, Filter Templates, and URL Routing.
EntityDataSource Use with ADO.NET Entity Framework except when using BLD DataAccessObjects. BLD provides is own version of the native control, with extensions to handle Entity Filters, Filter Templates, and URL Routing.
ObjectDataSource Use when you have Data Access Objects but they are not based on BLD DataAccessObjects. BLD provides is own version of the native control, with extensions to handle Entity Filters, Filter Templates, and URL Routing.
POCODataSource A DataSource control designed to work with POCO (“Plain Old CLR Object”) classes. Allows BLD to provide a rich user interface to edit properties on your objects.
BLDWidgetsView

This jack-of-all-trades control provides an interface for paging, filtering, sorting, and other commands that manipulate the data shown in the DataBound control.


Content displayed by the Databound control
Control Description
BLDDataField

This control loads a Field Template for a specified DataField at its location in the page. It is the mainstay of your development. However, its often hidden inside of a Pattern Template file.

BLDField BLD’s version of System.Web.UI.WebControls.BoundField class, which is used on GridView and DetailsView controls to display the Field Template for a specified DataField.
BLDDataFieldValidators

Creates all of the validators demanded by the ValidationAttributes and DataTypeAttributes. Add one to each Field Template that supports editing. Add it outside of the Field Template, next to the BLDDataField, to customize the error messages and error formatting."

BLDPatternForDataFields and BLDPatternForDataField

When using Pattern Templates, use these control within the ListView and FormView controls to load a Pattern Template and specify its data field names and other configuration properties. (BLDListView and BLDFormView internally use it to load their Pattern Templates. GridView and DetailsView support its use within their TemplateField element.)

BLDDataButtons This control generates the correct buttons based on the data entry mode. For ReadOnly, the buttons can be: New, Edit, Delete, Details, and Select. For Edit and Insert, the buttons can be Save and Cancel. These buttons direct the DataBound control to take a specific action. Their appearance is fully customizable. They also respect security restrictions by disabling or hiding buttons.
BLDLabel A version of the Label control that knows how to display a field’s name, in normal, short name, description and prompt formats as made available through the DisplayNameAttribute. If its AssociatedControlID property points to a BLDDataField or BLDFilterField, it gets the DataField value from that control.
BLDColumnTitle Used to form column titles on a list of records, using the ListView or BLDListView. Column titles may initially appear to be a label and therefore should use the BLDLabel. However, if your list supports sorting on a column title, this control knows how to handle that user interface, adding click to sort capability. It also knows when not to support sorting, based on the SortableColumnAttribute defined in the business logic.
BLDColumnTotalLabel Used in column footers to offer either a label or a calculated total of the column.

Getting Filter rules from the user

These are only available when using BLD DataAccessObjects.

Control Description
BLDFilterField Adds a single Filter Template to the page at the location of this control. It is often found within a Pattern Template.
BLDPatternForFilterFields and BLDPatternForFilterField Uses a Pattern Template with BLDFilterField controls to construct a list of Filter Templates. You supply the list of field names or let Automatic Scaffolding do it for you.
BLDFilterSummary Displays the filters established in the current query. It lists each filter using its Summary Text. It offers the user buttons to clear those filters.
BLDFilterButtons Adds the buttons associated with filtering: Search, Clear, and Reset. Usually used when using BLDFilterField controls as the BLDPatternForFilterFields control has this control built into its Pattern Templates.

Html Formatting within your Pattern, Field, and Filter Templates
Control Description
HtmlTags A control that creates HTML tags that have styles and other attributes from the Named Styles.
NamedStylesExtender A control that updates the style sheets on the extended control from the Named Styles defined in the containing controls. Attach it to labels and any other control whose CssClass and Style properties should be customizable by the Web Form developer.
BLDPartsPatternTemplate A control that is required within a PartsPatternTemplate. It declares the available Parts as child properties and allows defining Named Parts for those parts.
SmartSeparator A control that inserts HTML only if there are visible controls before and after it within the current Controls collection. It is used within BLDDataButtons and BLDFilterButtons Templates to insert “ ” between buttons that may be hidden.

Don't forget that you have access to the web controls throughout the Peter's Data Entry Suite.


Back to Product Overview  |  Next topic