Bind Form Layout to a Data Source

  • 2 minutes to read

Binding to a Data Source at Design Time

The FormLayout control can be used to edit or display data retrieved from a database via a data source control.

To bind a FormLayout to a data source control, click the smart tag of the FormLayout. In the invoked actions list, select an existing data source (if any), or create a new data source, from the Choose Data Source drop-down list.

FormLayout_DataBinding_Choose_DataSource

The FormLayout control will automatically generate layout items for data source fields. The LayoutItem.FieldName property value of each layout generated is set to a corresponding data source field name.

The table below illustrates which DevExpress Data Editors are automatically nested into the FormLayout for different field value types. Nullable types are also supported.

Value Type Automatically Nested Data Editor
byte[] BinaryImage
String, Char TextBox
Byte, SByte, Int16, UInt16, Int32, UInt32, Int64, UInt64, Single, Double, Decimal SpinEdit
Enum ComboBox
Boolean CheckBox
DateTime DateEdit

You can add/delete/edit any layout item according to your needs (e.g., you can group layout items, add unbound layout items, customize automatically nested controls)

Binding to a Data Source at Runtime

To bind a FormLayout to a data source in code, define the data source via the DataSource or DataSourceID property, as shown in the code sample below.

protected void Page_Load(object sender, EventArgs e)
{
    if (!IsPostBack)
    {
        var category = dc.Categories.First(cat => cat.CategoryID == 1);
        ASPxFormLayout1.DataSource = category;
    }
}

The FormLayout control will automatically generate layout items for all data source fields with the default design and layout at runtime.

The image below shows the look and feel of a FormLayout with layout items that are automatically generated at runtime.

FormLayout_BindingCodeOnly_Result

See Also