, ,

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 […]

, ,

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 […]

, ,

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 […]

, ,

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 […]

, ,

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. […]

, ,

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 :     […]

, ,

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 […]

, ,

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 […]

, ,

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, […]

, ,

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 […]

, ,

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 […]

, ,

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 […]