PowerForms HTML

Getting Started

, ,

PowerForms and Browser Compatibility

BPC PowerForms supports all major browsers (Internet Explorer 7 and above, Chrome, Firefox, Safari and Opera), however, if you are using Internet Explorer, then the user experience is much more smooth and user-friendly in versions 8 and above. on your clients when interacting with PowerForms for much better experience.   When IE8 or above loads in […]

, ,

Basic Layout Customizations

  The content of the includes section are appended inside the final form html. You can add any additional scripts to be included in the form, or define your required styles. For example : Code     <style> .pf-required-field {border-style: dotted; border-width: 2px; } .pf-button {background-color:blue; color:#ddd;} .pf-button:hover {color:#fff;background-color:#000000;cursor:pointer;} .pf-button:active {color:#fff;background-color:#f0713a;} .pf-button:disabled {color:#aaa;background-color:#f2f2f2;}  .pf-toolbar-button {height:80px;width:75px} […]

, ,

First Look

When the installer finishes you should notice the newly added options on SharePoint’s toolbars, under List Settings. There is a new group called BPC PowerWebForms containing three buttons: NewForm, EditForm and ViewForm Options.   In the most simple scenario, each button will present one option, to register/unregister the PowerForms components for new items,editing or view […]

, ,

Registering PowerForms/HTML for a list

Registering PowerForms HTML to work with a Sharepoint list is a very easy process. All that is required is to navigate to the preferred list and then click on one of the buttons located on the far right side of the List Ribbon Bar.           Will replace the default New Item form with […]

Designer

, ,

Using the format painter to copy control formatting

The format painter is a tool used to copy a control’s format to multiple controls. You can use it to easily create identical controls, without the need to build them from scratch every time. The field Title has a red background, which we want to copy to another control present on the form.   We enter the Editor, […]

, ,

Designer Options

The latest version of Powerforms HTML includes two new options in the Designer -> Options section, Show Progress Form and Tab Animation.   Show Progress Form This option refers to the progress form shown while the actual form is loading.   The available options are: Always – Will always show the loading form. Never – Will never show […]

, ,

Setting Column Span for Controls

A newly added feature in Power Forms Designer allows the user to easily modify a control’s column / row span using the designer view. Using buttons placed on the control, the user can easily and effectively design the look of a control and subsequently, the entire form. Hovering over a control causes two buttons to appear […]

, ,

Required Fields

Required fields (marked as such in the List Settings) are automatically identified and marked in the form designer (IsRequired property). You can mark any field as required by raising the “Required” flag in the control properties window.   Inside the designer, in the “Options” tab, there are 2 options for required fields: Required Field Border […]

, ,

Customizations for lists with multiple content types

PowerForms HTML supports multiple content types within a Sharepoint list by providing the functionality to create a different customization file for each content type. Effectively, this means that you can have different looking and functioning forms for each content type. Our example list has two different content types: Contact and Item. To create a customization for each individual […]

, ,

Changing default styles

  The content of the includes section are appended inside the final form html. You can add any additional scripts to be included in the form, or define your required styles. For example : Code <style> .pf-required-field {border-style: dotted; border-width: 2px; } .pf-button {background-color:blue; color:#ddd;} .pf-button:hover {color:#fff;background-color:#000000;cursor:pointer;} .pf-button:active {color:#fff;background-color:#f0713a;} .pf-button:disabled {color:#aaa;background-color:#f2f2f2;} .pf-toolbar-button {height:80px;width:75px;} .pf-section-header-text {font-size:14px; […]

, ,

Conditional customizations

Sometimes in Sharepoint, there may be a need to have more than one form layout for an individual list. Different fields or form designs may be required to differentiate between field values. For example using a customers list, we may need to paint the form’s background blue if the gender is male and pink if […]

, ,

Lazy Loading for Tabs

This option is introduced to help shorten PowerForms loading times, when your form contains a large number of information shown in multiple tabs. To access this property, click on the Properties icon on any tab. Lazy Loading will cause the Tab to load it’s data only when it is clicked and brought to the foreground. […]

, ,

Define Calculated Fields and Visibility/Enabled formulas

One of the options available with every control is to provide its value using a calculation formula. By setting a field to be calculated, you have to define the calculation formula for the field values. You can also use calculation formulas in the “Visibility formula” and “Enabled formula” properties, on the General tab. These formulas […]

API Reference

, ,

The Slider control

The Slider can be used instead of a numeric textbox. Moving the slider left or right increases or decreases the number. The Slider can store its data in a single line column or a numeric column.     Type : Slider Name Provides a unique name for the control. Binding Indicates if the control is Unbound […]

, ,

The RotatedText control

An example of a RotatedText control with Font Bold and an Angle of 45: Type : RotatedText Name Provides a unique name for the control. Binding Indicates if the control is Unbound Bound to list column Is a label for a control bound to list column Enabled for new records Sets if the control will be enabled […]

, ,

The RichTextBox control

A Rich Textbox control is generally used for displaying, entering and manipulating text with formatting. The RichTextBox control does everything a textbox control does, but it can also display fonts, colors, links, margins, load text and images from a file. Although it adds more complexity when compared to a regular textbox, it provides much needed […]

, ,

The HyperlinkTextBox control

The Hyperlink TextBox targets SharePoint columns that store hyperlinks or picture urls. In contains 2 textboxes. One for the actual URL and one for its description (the same way it appears in the default SharePoint forms). If no description is provided by users, the url is used for the description part. Type : HyperlinkTextBox Name […]

, ,

The Hyperlink control

The Hyperlink control targets Sharepoint columns that store hyperlinks or picture urls. Type : Hyperlink Name Provides a unique name for the control. Binding Indicates if the control is Unbound Bound to list column Is a label for a control bound to list column Enabled for new records Sets if the control will be enabled […]

, ,

The DocumentGrid Control

The DocumentGrid control is a container for listing the documents in a SharePoint document library, and provides the means of opening, deleting or uploading a document from/to a specific location: “Open” button will open the selected document, prompting for ReadOnly/Edit mode just like SharePoint does. “Refresh” button will reload the grid’s data. “Remove” button will […]

, ,

Form Properties and Methods

Either inside formulas or when writing javascript to accomplish complex requirements, you can use the client-side API provided by PowerForms – HTML. A global variable named “form” is available wherver you can use script : In form events (Load, Validation, etc) Inside Enabled and Visibility formulas In control Value-Change events In custom events provided by […]

, ,

Helper Methods

PowerForms helper methods is a collection of methods used to help with the creation of scripts.   pf.ParseDate The above method can be used to easily create a Date object. Date objects can then be used to retrieve year, month and day. DatePicker control values are simple strings. ParseDate can be used to turn DatePicker values to date […]

, ,

The ImageCheckBox control

The ImageCheckbox control is just like an ordinary checkbox, but instead of having a box to tick, you can use images for the checked/unchecked state.   Type : Checkbox Name Provides a unique name for the control. Binding Indicates if the control is Unbound Bound to list column Is a label for a control bound […]

,

The Button control

, ,

The TextBox control

Type : TextBox Name Provides a unique name for the control. Binding Indicates if the control is Unbound Bound to list column Is a label for a control bound to list column Enabled for new records Sets if the control will be enabled or disabled when the forms handles a new record Enabled for existing […]

, ,

The LookupPicker control

The LookupPicker control is used to load lookup data from a variety of sources. The lookup data are not loaded during form startup so this control is the most suitable to display data from large lists. It allows users to search for  the required value using a popup search form, activated by the “Browse” button. The […]

, ,

The Chart control

Chart is a new control which can be used to display information in two different ways:   As a Pie Chart   As a Bar Chart   Type : Chart Name Provides a unique name for the control. Enabled for new records Sets if the control will be enabled or disabled when the forms handles a new record Enabled […]

, ,

The AutoCompleteTextBox control

The AutoCompleteTextBox can be used as an alternative to the Combobox and the LookupPicker controls. You start typing letters and the control will filter and display only those values that match the letters. An example of an AutoCompleteTextBox control follows:   The value of the control is in the following format (when accessed from script […]

, ,

The Label control

The Label control is a simple but yet very powerful control in PowerForms/HTML, since it can contain any kind of HTML content required. So it can serve as a simple control caption, or it can display complex data retrieved from a List Query or a web service call. Type : Label Name Provides a unique […]

, ,

Control Properties and Methods

The form control represents an object that holds the details for the control on the form (type, position, layout details, etc). References to those objects can be obtained using the form.GetControl(name) method. GetValue() Return type : string Gets the current value of the corresponding control. Note : Date controls return the date in ANSI format (yyyy-MM-dd and […]

, ,

The Button control

The button control is used to trigger user defined actions: The value of the control (see “Value” section below) defines the display text of the button. The actions to be executed once the button is clicked are defined in the Extra Configuration section (see “Extra Configuration”). Type : Button Name Provides a unique name for the […]

, ,

The CheckBoxes control

  CheckBoxes with AllowFillIn set to True:   Type : CheckBoxes Name Provides a unique name for the control. Binding Indicates if the control is Unbound Bound to list column Is a label for a control bound to list column Enabled for new records Sets if the control will be enabled or disabled when the […]

, ,

The Menu Button Control

The Menu Button is used to group several actions together in a drop-down like control: Type : MenuButton Name Provides a unique name for the control. Binding Not applicable for the MenuButton control. It should be always unbound. Enabled for new records Sets if the control will be enabled or disabled when the forms handles […]

, ,

The CheckBox control

The CheckBox control can be used for Yes/No columns. It returns the value 1 (one) for true and 0 (zero) for false. Type : CheckBox Name Provides a unique name for the control. Binding Indicates if the control is Unbound Bound to list column Is a label for a control bound to list column Enabled […]

, ,

The ListAndForm control

The ListAndForm control is suitable for implementing interactive Master-Detail views inside a PowerForm, as it helps you to create a fully functional subform inside a form. It contains 2 controls, a list query datagrid and a subform enriched with New/Edit/Delete buttons. You can view an in depth tutorial on how to use the List and […]

, ,

The Image control

The Image control is a control that can be bound to a hypelink column (picture) or be unbound and get a static image url or get the url from a list query. Type : Image Name Provides a unique name for the control. Binding Indicates if the control is Unbound Bound to list column Is […]

, ,

The LineSeparator control

Type : LineSeparator Name Provides a unique name for the control. Binding Indicates if the control is Unbound Bound to list column Is a label for a control bound to list column Enabled for new records Not applicable Enabled for existing records Not Applicable Required Not Applicable Enabled Formula Not Applicable Visibility Formula Define a […]

, ,

The NumberTextBox control

A NumberTextBox is a textbox that accepts only numeric input. By default, it restricts the entry of characters to digits.     Type : Slider Name Provides a unique name for the control. Binding Indicates if the control is Unbound Bound to list column Is a label for a control bound to list column Enabled […]

, ,

The MultiPeoplePicker control

The MultiPeoplePicker control allow users select multiple users and groups. The lookup data are not loaded during form startup so this control is the most suitable to display large amount of users and groups. It allows users to search for  the required value using a popup search form, activated by the “Browse” button. The value of […]

, ,

The RadioButtons control

Type : RadioButtons Name Provides a unique name for the control. Binding Indicates if the control is Unbound Bound to list column Is a label for a control bound to list column Enabled for new records Sets if the control will be enabled or disabled when the forms handles a new record Enabled for existing […]

, ,

The DatePicker and DateTimePicker controls

These controls are used for Date and Date & Time columns. The format selected to display dates is extracted from the SharePoint site or user’s regional settings. The value of the control when accessed from script (like when using the GetValue() method) is in the following format (ANSI date format) : Code // DatePicker yyyy-MM-dd // […]

, ,

The ProgressBar control

The ProgressBar control can be used instead of a numeric textbox. The value can also by shown as a percentage.     Type : ProgressBar Name Provides a unique name for the control. Binding Indicates if the control is Unbound Bound to list column Is a label for a control bound to list column Enabled for new […]

, ,

The DataGrid control

The DataGrid control is useful to display data coming from other lists using a list query, a web service call or an sql query. Type : DataGrid Name Provides a unique name for the control. Binding Not applicable for DataGrig control. Always unbound. Enabled for new records Sets if the control will be enabled or disabled […]

, ,

The PeoplePicker control

The PeoplePicker control is used to load  users and groups from two different sources. It can access data from sharepoint or from Active Directory. The users and groups are not loaded during form startup so this control is the most suitable to display large amount of users and groups. It allows users to search for  the […]

, ,

The DataEntryGrid control

It is a datagrid with which a user can enter, edit or delete information. The control operates in two modes: 1) Single list mode, where it stores the detail information into a column of type multiple lines of text (note: the column must use Plain Text format). In this case, the data are saved in XML […]

, ,

The PeopleComboBox control

The value of the control is in the following format (when accessed from script using the GetValue() method) : Code // Bound to lookup entity ID1;#USERNAME1 Type : PeopleComboBox Name Provides a unique name for the control. Binding Indicates if the control is Unbound Bound to list column Is a label for a control bound […]

, ,

The ComboBox control

The ComboBox control The value of the control is in the following format (when accessed from script using the GetValue() method) : 1 2 3 4 5 6 7 8 Code // Bound to static values NAME1 // Bound to lookup entity ID1;#NAME1 Type : ComboBox Name Provides a unique name for the control. Binding […]

, ,

The Switch control

The Switch control can be used for Yes/No columns. It can return the value 1 (one) for true and 0 (zero) for false, but it can also be customized to return any value for true or false.   Examples of a Switch control:   Type : Switch Name Provides a unique name for the control. Binding […]

, ,

The ColumnHistoryViewer control

In order to support versioning in lists as well as AppendText columns, the ColumnHistoryViewer control has been introduced. It allows the user to retrieve historical data from columns.   Type : ColumnHistoryViewer Name Provides a unique name for the control. Binding Indicates if the control is Unbound Bound to list column Is a label for […]

How To Articles

, ,

How file uploading works (for new and existing records)

Navigate to Attachments Tab. A user can add attachments in two different ways, by browsing for files or by dragging and dropping files on the Existing Attachments area.   Browsing for Attachments: Select    The new Browse Feature allows multiple files selection from the same location or multiple browse actions to select files from multiple locations. Select the desired […]

, ,

Delete Error Web Parts from Edit/New page

First navigate to the page that has the problematic web part. Then at the end of the url add the url parameter Contents=1. This will open the page in ‘Maintenance’ mode. Now all the web parts can be viewed, even those with errors. Users can select and delete the required web part the page will work as […]

, ,

Define List Queries

List Queries is a common method to load results from a SharePoint list (either in the same or any other site of the current site collection). List Queries can be specified using the LIST-QUERIES section of the runtime designer.   Name Provide a name that will be used to identify the list query in other […]

, ,

Show or Hide a control based on form conditions

In order to hide/show controls on the form, we can either use the “Visibility Formula” which is inside the control properties window in the designer, or write some script to perform the same action. Examples : Condition based on the value of another control : Code form.GetControl(“c_Status”) != “Rejected” Condition based on logged in user […]

, ,

Enable or Disable a control based on form conditions

One of the most common scenarios when designing a custom form, is the requirement to enable/disable a specific control (or set of controls) based on a) the values of other controls, b) the user using the form. For our example, we have a list with the following columns : Customer (lookup column referencing the Customers […]

List Queries

, ,

The {url} Keyword

The {url} is a brand new keyword which can be used in the designer to indicate the local web-site url, instead of having to write the whole SharePoint site/sub-site path. Important Note: The {url} keyword can be used to substitute the full site/sub-site url when creating lookup controls or list queries.   Up to this point, when […]

, ,

Multiple Sorting in List Queries

A new addition to PowerForms HTML is the ability to sort by multiple columns in a List Query.     Clicking on the Sort with multiple columns presents a text-box which you can use to perform multiple sorting to your list query. As the description says:   Use semicolons (;) to separate column internal names. […]

, ,

Master-Detail using the DataEntryGrid control

The DataEntryGrid control gives you two options. The first option is to add structured data that would be saved inside a multi-lines-of-text control (using XML). So it is ideal for cases that no external list is required to store the related data. The second option is to bind the DataEntryGrid control value to a ListQuery, […]

, ,

Master-Detail using the ListAndForm control

This is a step-by-step guide of building a mster-detail form using the ListAndForm control. For this example. we will use 2 connected lists : Customers and Contacts. Customers list columns Title, Address Contacts list columns Title (renamed to Full Name), LastName (single line of text, renamed to “Last Name”), FirstName (single line of text, renamed […]

, ,

Complex List Query Examples

This article contains some more advanced examples on query building : You can read some basic instructions on how to build list query criteria HERE : For our examples, we will use a list of Cases having the following columns : Title (Single line of text) Customer (Lookup to the Customers list) StartDate (Datetime) Status (Lookup to […]

, ,

Querying SharePoint Lists and displaying results

Users can execute queries to the Sharepoint Lists and show the result in a DataGrid control. To enter the List Query editor, first enter PowerForms designer mode and select LIST_QUERIES from the drop down menu. The selection menu is highlighted red on the picture below. A form similar to the one below will appear. This is where […]

, ,

List Query Criteria

List Queries is a common method to load results from a SharePoint list. List Queris can be specified using the LIST-QUERIES section of the runtime designer or when defining parameters for lookup controls (inside the Lookup Details tab or the control properties editor). For lookup controls, you can use the following option :     […]

Localization

, ,

Localization in PowerForms

PowerForms can be localized through the Localization Section in the designer.     A list containing all the texts appearing inside forms either in controls, buttons or messages is displayed and the user can change the required texts. The list supports Unicode so changing the texts to fit your needs should not be a problem. […]

Lookup Controls

, ,

Define Hierarchical Comboboxes

In common scenarios, there are linked lists that need to be included as hierarchical comboboxes in your forms. For example a typical Country/City scenario would include 2 lists. –  Countries (ID, Title) –  Cities (ID, Title, Country) where the Country field is a lookup for the Country List. In order to declare the comboboxes for […]

, ,

Declaring a Lookup/Combobox Control

Available options: Choice Control (Single Selection) Declare a new ComboBox or LookupPicker control. Set the Target Field Name and in the Lookup Details tab, set the Lookup Static Values property adding all the required values concatenated by semicolon (;). For example for a rating field : Low;Medium;High During initial form customization, the form designer identifies […]

Scripting

, ,

SetSectionCellSpacing, SetSectionCellPadding methods for Sections

SetSectionCellSpacing, SetSectionCellPadding are two new methods which when used, will control the internal cell spacing and padding of a section on a form.   The generic way of calling both methods is: Code form.SetSectionCellSpacing(“Section Key”, “Size in Integer”); form.SetSectionCellPadding(“Section Key”, “Size in Integer”);   A prerequisite to use the above two methods is to add a […]

, ,

SetDataSource method for DataGrid

SetDataSource is a new method used to bind a DataGrid to an array of objects during runtime.   c_Control5 is our example datagrid. Code var c = form.GetControl(“c_Control5″).InputControl; var data = []; var item = new Object(); item.ID=”1”; item.Name = “John”; data.push(item); item = new Object(); item.ID=”2″; item.Name = “George”; data.push(item); c.SetDataSource(data);   Let’s analyze the […]

, ,

Using the SetCellColor method

SetCellColor is used to dynamically change the cell color of a control using scripting. To call the method: Code form.GetControl(“ControlName”).SetCellColor(“ColorCode“);   where ControlName is the name of the control whose cell color you want to change and ColorCode is the HTML color’s code representation.   For example, let’s assume we have a TextBox control called c_Country and a Button control, c_Control4 with an […]

, ,

Using the ParentListName method

A new method called ParentListName was added in the latest version of PowerForms HTML. This method can be called from a form used inside a ListAndForm control and will return the list name of the form containing the actual ListAndForm control.   In order to call the new method, use: Code form.ParentListName();   The method is best used when […]

, ,

Enable, Disable, Select Tab on Form using scripting

You can now programmatically Enable, Disable and Select a tab on the form. The generic syntax is:   Code form.EnableTab(integer); form.DisableTab(integer); form.SelectTab(integer);   where interger represents the tab’s ordering spot on the form, starting with 0 for the first tab.   For example, to select and display the contents of the second tab on the form: Code form.SelectTab(1); […]

, ,

Handling the BusyChanged event for controls

Each control exposes a “BusyChanged” event which is raised when the controls starts loading data (for example for comboboxes, radiobuttons, checkboxes) and when loading completes. The event provides a boolean parameter indicating if the loading starts or completes. Example : Code form.GetControl(“c_CascadingRadio”).BusyChanged.AddHandler(function(busy) { var c = form.GetControl(“c_LoadingIndicator”); if (busy) c.SetValue(“Loading…”); else c.SetValue(“Completed”); });

, ,

Handling the AttachmentsLoaded event

The “form” object available from script, exposes a specific event that is raised after the item attachments are loaded. The event is called “AttachmentsLoaded” and provide a list of the available item attachments. For each attachment, the “Filename” and “FullPath” properties provide access to file attributes. Example: For the following example, we will handle the […]

, ,

Include custom javascript in the form

Sometimes we need to have a common function that must be called from several controls. For this purpose there is a new category in the scripts section called ‘Includes’. In this section you can write either javascripts that will be added in the form or change the default styles (CSS) with your desired style (See […]

, ,

Calling a web service programmatically

Here is an example of calling a web service client-side from a Button control within a form. The first thing we have to do is to create the web service call in Web Services section. In our example  we will demonstrate one of the default sharepoint web services  Lists.asmx. We give the name ‘All Lists’, […]

, ,

Handling the Value-Change event of controls

There is a special section in the control properties dialog where users can write the client-side script that will be executed when the value for that control changes. All the available methods and properties of the “form” object or the individual control methods can be found here : Form properties and methods Control properties and […]

SQL Queries

, ,

SQL Queries in PowerForms

PowerForms HTML supports direct SQL Queries that can be used to provide lookup data for lookup controls (such ComboBoxes).   For security reasons, the actual sql query is not defined inside PowerForms designer but another setup model has been adopted : 1. A custom list should be created server-side. 2. The definition should be stored there […]

Web Services

, ,

Calling external web services and displaying data

Users can create external web service calls and display the data using a datagrid on the form. NOTE: Other controls can also be connected with a web service call. In that case only the first attribute for the first record will be used and if the value is valid for that control it will be displayed properly. To […]

PowerForms Silverlight

Designer

, ,

Migrate Customization : Example

In this article we will follow the required steps to migrate our customizations to another server/site. We will use the example site which can be created by the Installation Wizard of PowerForms. Our site if located in the url : http://wssdev1/PowerForms Demo Site We will save our site as a site template and use that […]

, ,

Setting Column Span / Row Span for Controls

A newly added feature in Power Forms Designer allows the user to easily modify a control’s column / row span using the designer view. Using buttons placed on the control, the user can easily and effectively design the look of a control and subsequently, the entire form. Hovering over a control causes four buttons to appear on […]

, ,

Migrating Customizations

It has been a constant pain for SP/PowerForms designers trying to migrate the customizations made in their development environment to their production environment. PowerForms store the customization in a pure XML format, inside the BPC PowerForms Customizationscustom list in the root of each site collection. The reason for the difficulty resides on that URLs and Lists stored inside the […]

, ,

Right to Left support

Since v.2.5, PowerForms support Right to Left control positioning for the produced form design as well as for the designer itself. For example here is a form customization before changing RLT options: Opening the designer and navigating to the Options section, users can see the Right-To-Left option.   Changing this option has the following effect […]

, ,

Setup Required Fields

Required fields are automatically identified and marked in the form designer (IsRequired property). You can mark any field as required. Inside the designer, in the “Options” tab, there are 2 options for required fields: Required Field Border and Mark Required Fields. The first property defines the border color for required fields and the second one sets if the […]

, ,

Automatically activating the designer

While customizing a SharePoint form, you may add an invalid script or perform some other customization that throws an error before the form completes loading, not showing the form toolbar and making it impossible to fix the issue. Additionally, in version 2.3, a new feature has been introduced that allows the user designing the form […]

, ,

Setting multiple forms for the same List/ContentType based on conditions

Sometimes in Sharepoint we have to make different forms with different fields for the same list depending on some field values. This feature is easily implemented with the button Customizations. By default when a form is customized for the first time, the first customization is automatically created with no condition. If the form remains without further customizations, […]

, ,

How to use the Designer

It is very simple to change the position of the controls on any form. Click on Design Form and the view of the forms will change.Now you can view all the forms controls, drag any of them and drop it in a new cell. When you drop the control in an occupied cell, it automatically generates a […]

Controls

, ,

Using the DataEntryGrid to save to separate lists

The DataEntryGrid control is used to allow users define a field structure and store complex information inside a multi-line text column formatted in XML. In many cases, there is a requirement to keep this information in a separate list instead of storing an xml formatted value in a list column. Users need to add the […]

, ,

The Managed Metadata controls

In order to provide values to Sharepoint Managed Metadata Columns (available in Sharepoint 2010) a set of three controls are provided: The Managed Metadata Picker Multi Managed Metadata Picker Managed Metadata Textbox All of the above controls can be bound to a column of type ‘Managed Metadata’. The very same controls can be used to Enterprise […]

, ,

The Hyperlink TextBox

The Hyperlink TextBox targets SharePoint columns that store hyperlinks or picture urls. In contains 2 textboxes. One for the actual URL and one for its description (the same way it appears in the default SharePoint forms). If no description is provided by users, the url is used for the description part. A button is available […]

, ,

The PeoplePicker, MultiPeoplePicker, PeopleComboBox controls

The PeoplePicker and the MultiPeoplePicker controls are used to retrieve and select user or group entities from SharePoint or the Active Directory Listing. Depending on applied settings, these controls can retrieve data from SharePoint Groups or perform ActiveDirectory queries (the same way that SharePoint loads users and groups).   Any of the available options can […]

, ,

The DocumentList control

The DocumentList control is used to load and manage documents of a Sharepoint Document Library. The control can also update document attributes at the same time it uploads a document, thus providing an easy way to “relate” documents to the underlying record. There are cases where the list item attachments is not an adequate solution since they cannot […]

, ,

The CheckBox control

The CheckBox control is used commonly to present the user with the ability to gather a set of true or false values that aren’t mutually exclusive. It can contain a check mark or be unchecked (empty). Any of the available options can be used. The CheckBox does not provide any Lookup options since it cannot […]

, ,

The MultiChoiceCheckBox control

The MultiChoiceCheckBoxes control allows the user to select a single option from a group of choices. This control is a Lookup control meaning that it can either contain static values or load its values from another list.   Any of the available options can be used. If the control is bound to a choice column, […]

, ,

The MultiRadioButton control

The MultiRadioButton control allows the user to select a single option from a group of choices. This control is a Lookup control meaning that it can either contain static values or load its values from another list.   Any of the available options can be used. If the control is bound to a choice column, […]

, ,

The RichTextBox control

A Rich Textbox control is generally used for displaying, entering and manipulating text with formatting. The RichTextBox control does everything a textbox control does, but it can also display fonts, colors, links, margins, load text and images from a file. Although it adds more complexity when compared to a regular textbox, it provides much needed […]

, ,

The ProgressBar control

The Progress Bar is a control that is not available in sharepoint by default. It can be used instead of a numeric textbox, in order to show a different view of the value. The value can also be shown as a percentage (%) To connect the progress bar with a numeric control, the Progress bar should be […]

, ,

The Column History Viewer Control

In order to support versioning in lists as well as AppendText columns, the ColumnHistoryViewer control has been introduced. It allows the user to retrieve historical data from columns. To use the ColumnHistoryViewer control, just place it on the form using the designer. Open the control properties and set ColumnName to the column you want to […]

, ,

The DataEntryGrid control

It is a datagrid with which a user can enter, edit or delete information stored. Records can be edited in a dynamically generated form :       The grid’s fields and columns can be declared using the designer’s Extra Configuration field. DataEntryGrid properties: Property : Name Value Type : String Name the new field. Property : Type Values: […]

, ,

The TreeViewPicker control

TreeViewPicker control is like lookupPicker control but shows the data in at tree view way. The settings that should be declared are the Lookup Details (list, displayName, value etc.) and one property in the Extra Configuration tab: ParentFieldName.   The ParentFieldName should be located in the list that is already declared in Lookup Details and it […]

, ,

The Slider control

The Slider is a control that is not available in sharepoint. It can be used instead of a numeric textbox, or it can be connected with a numeric textbox as a different representation of the number. In order to connect the slider with a numeric control, slider Control should be declared as Calculated. The calculation formula should […]

, ,

The NumberTextBox and UpDownNumberTextBox controls

A NumberTextBox is a textbox that accepts only numeric input. By default, it restricts the entry of characters to digits Any of the available options can be used. The NumberTextBox does not provide any Lookup options since it cannot contain lookup data   ValueChangeMode Values : TextChange, LostFocus, None Indicates that the control will raise […]

, ,

The Label control

A Label is a control that serves as a guide to the user. It provides static text that the user cannot change but can read to get information on a form. Most controls on the form are not explicit at first glance and the user may not know what they are used for. Therefore, you […]

, ,

The ListAndForm control

The ListAndForm control is suitable for implementing interactive Master-Detail views inside a PowerForm, as it helps you to create a fully functional subform inside a form. It contains 2 controls, a list query datagrid and a subform enriched with New/Edit/Delete buttons. First of all a list query should be created at the Parent List. If you want to connect the […]

, ,

The ActionButton control

In order to apply custom actions through user input, the ActionButton control can be used. The ActionButton control acts as a normal button, and can be configured to execute multiple actions. It can be rendered as a normal Silverlight Button, as a Hyperlink, as a Label or as an ImageButton. Here are some examples:   […]

, ,

Taking advantage of the ListDataGrid ValueChange event

The ListDataGrid control is very useful for presenting data coming from other/related lists. Apart from displaying the results, the control does not provide a value to be used from other controls or formula expressions. The control however raises the ValueChange event and can be used from python script during run-time. The ListDataGrid control, has a […]

, ,

The ListDataGrid control

The ListDataGrid control is useful to display data coming from other lists. Configuring the control only requires to define a list query. For example assume we have 2 custom lists : Customers and Orders. The requirement is display Customer Orders inside each Customer form. So we must define a query that will retrieve Orders using criteria from the existing customer […]

, ,

The LookupPicker control

The LookupPicker can be used to display and select lookup data and is very similar to the simple ComboBox control but has some signifincant advantages : No Data Loading is performed during form initialization providing faster form loading Allows data filtering during run-time (including fields other than the Display field) Multiple columns can be displayed from […]

, ,

The ComboBox control

The ComboBox is a simple dropdown list control that can contain either static values (for example choice column data) or values retrieved from another list (lookup column data)   If the control is bound to a choice column, then the Static Values property is automatically filled with the underlying values from the column. The property […]

, ,

The TextBox control

The TextBox control is commonly used to display column data of single-line-of-text or multi-line (Plain Text) columns. If the TextBox control type is selected inside the control properties window, the “MultiLine” property is available allowing users to display multiple lines of text column data (the control automatically displays a vertical scrollbar and accepts the Enter […]

, ,

Define Extra Control Parameters

Common control properties for each form control are defined inside the designer pages like Color, Size, Alignment, etc. Most of the available controls, support special configuration settings that can be accessed through the “Extra Configuration Tab” in the control properties window.  The designer provides easier control configuration through an easy user interface. Available configuration values in […]

, ,

Control Display Options

In order to change control appearance, the Layout tab of the control properties window contains the basic settings available in PowerForms. Size, Color, Alignment, Font Size can be modified here :   Size Normally, the width and height is set to zero which allows the system to automatically adjust a control’s size and occupy the maximum space available. […]

, ,

Control Properties

In order to design your form, a number of control types is available for you to select from. At the time PowerForms is registered for a List or Document Library, the system automatically tries to detect list column types and selects the appropriate control for each column. For example for single line of text columns […]

Lookup Controls

, ,

Define Hierarchical Comboboxes

In common scenarios, there are linked lists that need to be included as hierarchical comboboxes in your forms.   For example a typical Country/City scenario would include 2 lists. Countries (ID, Title)  Cities (ID, Title, Country) where the Country field is a lookup for the Country List. In order to declare the comboboxes for these […]

, ,

Declaring a lookup/combobox control

Available options: Choice Control (Single Selection) Declare a new ComboBox or LookupPicker control. Set the Target Field Name and in the Lookup Details tab, set the Lookup Static Values property adding all the required values concatenated by semicolon (;). For example for a rating field : Low;Medium;High During initial form customization, the form designer identifies the […]

Scripting and Formulas

, ,

Script Examples

The above system columns do not create bound controls during form initialization. You can get the values though through script and set these values inside your custom controls through script : You should add the following script in the “Load Completed” script of the form : Designer > Options > Scripting > Load Completed Code […]

, ,

Script Example : Setting the datasource of controls through script

In order to have filtered dropdowns, the most common approach is to use the Constraint feature of PowerForms which enables automatic filtering of a dropdown control (see this link for details) There are cases though when you want to manually apply the datasource of a control using business rules. For example a set of COUNTRY and STATE combos. The State combo needs to […]

, ,

Script Example : Calculate average value for a query resultset

For this example, we want to dynamically load data from a SharePoint list, loop through the resultset and calculate the average value of a specific column in the resultset: To build our script, we assume the following : – We have a list of “Cases” that have a Rate field (number) and a Customer lookup – We have […]

, ,

Script Example : Using Script to Save List Items

There are cases when the complexity of your business cases require that you need to take over and save list items manually. Besides controlling how data are saved through a normal PowerForms designed form, or by using the ListAndForm control to save “related” items to connected lists, saving through script is now available (v.2.4) The […]

, ,

Set Default Values

The Default Value property is used to set the value of the control for new records. The default value can be either static or calculated.   For static values, just enter the required value in the default value field. For labels and textboxes just enter the required text. For lookups, enter the ID of the […]

, ,

Define Calculated Fields

By setting a field to be calculated, you have to define the calculation formula for the field values. Moreover, you can use formulas in the “Visibility formula” and “Enabled formula” properties. Whereas in the Calculation formula should return the actual value that must be applied to the control, the Visibility and Enabled formulas should return […]

, ,

Dynamically set the data source of a choice control

There are cases when the data source of a choice control depends on the value of another control on the form. For example: You have a multi-choice field with the associated company departments for a support request, called c_Department. You want the user to select the primary department and store it in another field. You […]

, ,

Using Iron Python Scripting in PowerForms

Python scripting is a powerful tool for your customizations. You can find here some common scripts you can use in your forms. IMPORTANT: Python uses “Significant Whitespace”, meaning that whitespaces in front of commands are important for the interpreter to identify code blocks. You can apply scripting to either Control Value Change events, or to handle the Form […]

External Lists

, ,

SQL Queries in PowerForms

Applies to PowerForms Advanced Since version 2.6, PowerForms supports direct SQL Queries that can be used to provide lookup data for lookup controls (such ComboBoxes). For security reasons, the actual sql query is not defined inside PowerForms designer but another setup model has been adopted : A custom list should be created server-side. The definition […]

, ,

External Lists using Power Forms

Since version 2.4, support for External Lists/External Content Types is available using PowerForms (SharePoint 2010 only). Assuming you have already created your external list, to setup that list to use PowerForms, you should follow the steps below : REGISTER PowerForms The PowerForms registration buttons should be available in the list ribbon, so register PowerForms for […]

Printing

, ,

XSLT Printing Step by Step using PowerForms

PowerForms provides an out of the box printing functionality using the layout of the run-time designer configuration. In order to build our own custom reports, we have to use the XSLT based printing provided by PowerForms. This is a step by step guide on designing your custom reports for users with minimum or no prior knowledge of XSLT. Since […]

, ,

Printing with custom XSLT file

Users can create their own custom print layout using XSLT file. The xml file that we use to extract the data from the form is the one below: The control c_Feedback is a DataEntryGrid control  and the extra elements ‘Values’ and ‘Record’ are used to describe its fields and values. An xslt file should be created that […]

Localization

, ,

Localization in PowerForms

PowerForms can be localized through the Localization Section in the designer. A list containing all the texts appearing inside forms either in controls, buttons or messages is displayed and the user can change the required texts. The list supports Unicode so changing the texts to fit your needs should not be a problem. For performance […]

, ,

Locale/Calendar options in PowerForms

PowerForms enables users to identify the preferred Locale and Calendar Type for each form. (v.2.4) PowerForms automatically recognizes the server locale and default calendar type and uses these settings to display data and perform data conversions (in formulas and script). Two new properties have been added in the Form Options editor that allow users to […]

General

, ,

Building Custom Controls

Power Forms is designed with extensibility in mind. There are some cases where you need some special customization for your form. For these cases, developers can build and register their custom controls (using Visual Studio & Silverlight). Since any Silverlight control can be registerer inside Power Forms, the possibilities are endless. For this example, we will use MS Visual […]

, ,

Network Security Access Restrictions in Silverlight

Cross-domain service access in Silverlight Silverlight uses services as its primary source of retrieving data across domain boundaries. To prevent applications from launching malicious attacks on web sites, Silverlight uses opt-in cross-domain access. A web site needs to be allowed to receive and respond to requests being made from a particular domain. This safe-guarding role […]

, ,

Setup an audit mechanism

You can implement an auditing procedure for your data forms using the “After Update Post Url” property (Options tab). If you declare a web page in that property, a web post containing the action (preinsert, preupdate, predelete, postinsert, postupdate, postdelete) and a list of field name/field value pairs, will be made after each insert, update or […]

, ,

How file uploading works (for new and existing records)

Navigate to Attachments Tab.   A user can add attachments in two different ways, by browsing for files or by dragging and dropping files on the Existing Attachments area. Browsing for Attachments: Select  . The new Browse Feature allows multiple files selection from the same location or multiple browse actions to select files from multiple locations. Select the desired […]

, ,

Set Default Values using the querystring

In the Querystring, you can define values that will be used as default values for a new record. The keyword “ID” is reserved and when used in the querystring, the form tries to load the record with the ID specified. All the other field names can be used to apply default values in the form […]

, ,

How to delete Error Web Parts from Edit/New page

How to delete web parts in any web part page First navigate to the page that has the problematic web part. Then at the end of the url add the url parameter Contents=1. This will open the page in ‘Maintenance’ mode. Now all the web parts can be viewed, even those with errors. Users can select and […]

Web Services/Web Posts

, ,

Apply Form Validations or Pre-Update actions using external web posts

You can apply validation rules inside your forms using external web pages. The system can call an external web page and pass the action (preupdate, preinsert, predelete) and the list of the field name/ field value pairs. This web page should be declared in the Options tab, inside the “Before Update Post Url” property. Absolute […]

, ,

Calling external web services and displaying data

Users can create external web service calls and display these data in a datagrid in the form. Users can create external web service calls and display these data in a datagrid in the form. NOTE: Other controls can also be connected with a web service call. In that case only the first attribute for the first […]

, ,

Manually Calling Web Services

With PowerForms, users could bind specific controls to existing web services and retrieve values automatically during form initialization or whenever another control that affected the web service call occurred. In version 2.0, a new Button control is introduced, which allows users to manualy call web services, or list queries and apply the retrieved data to […]

, ,

Getting external values using web posts

You can retrieve information from web posts and use them inside your form. For example, as soon as you select a customer from a combobox, you want to display the balance of the selected customer in a label next to the customer. In order to achieve this, you must declare a new unbound control (you […]

List Queries

, ,

Master-Detail using the DataEntryGrid control

The DataEntryGrid control was initially added to provide users with the option to add structured data that would be saved inside a multi-lines-of-text control (using XML). So it is ideal for cases that no external list is required to store the related data. Since v.2.6.5, the DataEntryGrid contol if its value is bound to a […]

, ,

Master-Detail using the ListAndForm control

This is a step-by-step guide of building a mster-detail form (PowerForms Advanced) using the ListAndForm control. For this example. we will use 2 connected lists : Customers and Contacts. Customers list columns Title, Address Contacts list columns Title (renamed to Full Name), LastName (single line of text, renamed to “Last Name”), FirstName (single line of […]

, ,

Complex List Query Examples

This article contains some more advanced examples on query building : You can read some basic instructions on how to build list query criteria HERE : For our examples, we will use a list of Cases having the following columns : Title (Single line of text) Customer (Lookup to the Customers list) StartDate (Datetime) Status (Lookup to […]

, ,

Querying SharePoint Lists and displaying results

Users can execute queries to the Sharepoint Lists and show the result in a DataGrid control. To enter the List Query editor, first enter PowerForms designer mode and select LIST_QUERIES from the drop down menu. The selection menu is highlighted red on the picture below. A form similar to the one below will appear. This is where […]

, ,

List Query Criteria

List Queries is a common method to load results from a SharePoint list. List Queris can be specified using the LIST-QUERIES section of the runtime designer or when defining parameters for lookup controls (inside the Lookup Details tab or the control properties editor). For lookup controls, you can use the following option : For List […]