Class SfDataForm
DataForm control provides UI for editing all the public properties
of data object with appropriate editors based on type of property.
DataForm control provides options to control editing, validation of data
and customization of layout.
Inheritance
Implements
Namespace: Syncfusion.XForms.DataForm
Assembly: Syncfusion.SfDataForm.XForms.dll
Syntax
public class SfDataForm : View, IParentThemeElement, IThemeElement, IDisposable
Constructors
SfDataForm()
Initializes a new instance of the SfDataForm class.
Declaration
public SfDataForm()
Fields
AutoGenerateItemsProperty
Identifies the AutoGenerateItems bindable property.
Declaration
public static readonly BindableProperty AutoGenerateItemsProperty
Field Value
| Type |
|---|
| Xamarin.Forms.BindableProperty |
Remarks
This bindable property is read-only.
ColumnCountProperty
Identifies the ColumnCount bindable property.
Declaration
public static readonly BindableProperty ColumnCountProperty
Field Value
| Type |
|---|
| Xamarin.Forms.BindableProperty |
Remarks
This bindable property is read-only.
CommitModeProperty
Identifies the CommitMode bindable property.
Declaration
public static readonly BindableProperty CommitModeProperty
Field Value
| Type |
|---|
| Xamarin.Forms.BindableProperty |
Remarks
This bindable property is read-only.
DataObjectProperty
Identifies the DataObject bindable property.
Declaration
public static readonly BindableProperty DataObjectProperty
Field Value
| Type |
|---|
| Xamarin.Forms.BindableProperty |
Remarks
This bindable property is read-only.
EditorWidthProperty
Identifies the EditorWidth bindable property.
Declaration
public static readonly BindableProperty EditorWidthProperty
Field Value
| Type |
|---|
| Xamarin.Forms.BindableProperty |
Remarks
This bindable property is read-only.
IsReadOnlyProperty
Identifies the IsReadOnly bindable property.
Declaration
public static readonly BindableProperty IsReadOnlyProperty
Field Value
| Type |
|---|
| Xamarin.Forms.BindableProperty |
Remarks
This bindable property is read-only.
ItemsProperty
Identifies the Items bindable property.
Declaration
public static readonly BindableProperty ItemsProperty
Field Value
| Type |
|---|
| Xamarin.Forms.BindableProperty |
Remarks
This bindable property is read-only.
LabelPositionProperty
Identifies the LabelPosition bindable property.
Declaration
public static readonly BindableProperty LabelPositionProperty
Field Value
| Type |
|---|
| Xamarin.Forms.BindableProperty |
Remarks
This bindable property is read-only.
LabelWidthProperty
Identifies the LabelWidth bindable property.
Declaration
public static readonly BindableProperty LabelWidthProperty
Field Value
| Type |
|---|
| Xamarin.Forms.BindableProperty |
Remarks
This bindable property is read-only.
NotifyPropertyChangesProperty
Identifies the NotifyPropertyChanges bindable property.
Declaration
public static readonly BindableProperty NotifyPropertyChangesProperty
Field Value
| Type |
|---|
| Xamarin.Forms.BindableProperty |
Remarks
This bindable property is NotifyPropertyChanges.
ValidationModeProperty
Identifies the ValidationMode bindable property.
Declaration
public static readonly BindableProperty ValidationModeProperty
Field Value
| Type |
|---|
| Xamarin.Forms.BindableProperty |
Remarks
This bindable property is read-only.
ValidationTemplateProperty
The validation template property.
Declaration
public static readonly BindableProperty ValidationTemplateProperty
Field Value
| Type |
|---|
| Xamarin.Forms.BindableProperty |
Properties
AutoGenerateItems
Gets or sets a value indicating whether auto generate the DataFormItems in SfDataForm.
Declaration
public bool AutoGenerateItems { get; set; }
Property Value
| Type | Description |
|---|---|
| System.Boolean | The default value is true. |
Remarks
The custom dataform Items can be generated by setting AutoGenerateItems false/>.
ColumnCount
Gets or sets the value denotes the number of editor to be arranged per row. Be default one editor for one property arranged with label.
Declaration
public int ColumnCount { get; set; }
Property Value
| Type | Description |
|---|---|
| System.Int32 | The default value is one. |
CommitMode
Gets or sets the value that determines, when the value entered by user should be saved to the data object.
Declaration
public CommitMode CommitMode { get; set; }
Property Value
| Type | Description |
|---|---|
| CommitMode | The commit mode. |
ContainerBackgroundColor
Gets or sets the container background color for dataform to define the container background color of dataform items within the textinputlayout.
Declaration
public Color ContainerBackgroundColor { get; set; }
Property Value
| Type | Description |
|---|---|
| Xamarin.Forms.Color | The default value is Xamarin.Forms.Color.Default. |
Remarks
Applicable only for the Dataform which TextInputLayout.
ContainerType
Gets or sets the container type for dataform to define the container type of dataform item within the textinputlayout.
Declaration
public ContainerType ContainerType { get; set; }
Property Value
| Type | Description |
|---|---|
| ContainerType | The default value is Outlined. |
Remarks
Applicable only for the Dataform which TextInputLayout.
DataObject
Gets or sets a data object to view or edit the properties. DataForm generates the editors and labels from the public properties of data object.
Declaration
public object DataObject { get; set; }
Property Value
| Type |
|---|
| System.Object |
EditorWidth
Gets or sets the value that splits the width for editor from DataFormItemView.
Declaration
public int EditorWidth { get; set; }
Property Value
| Type | Description |
|---|---|
| System.Int32 | The width of the editor. |
IsReadOnly
Gets or sets a value indicating whether editors enabled for editing.
Declaration
public bool IsReadOnly { get; set; }
Property Value
| Type | Description |
|---|---|
| System.Boolean | The default value is false. |
Remarks
IsReadOnly takes higher priority when explicit defined. Editors can be enabled or disabled for particular property by setting IsReadOnly in AutoGeneratingDataFormItem. Editors can be enabled or disabled for particular property by setting System.ComponentModel.DataAnnotations.EditableAttribute.AllowEdit.
ItemManager
Gets or sets the item manager.
Declaration
public DataFormItemManager ItemManager { get; set; }
Property Value
| Type | Description |
|---|---|
| DataFormItemManager | The item manager. |
Items
Gets or sets the custom DataFormItemBase collection in SfDataForm.
Declaration
public ObservableCollection<DataFormItemBase> Items { get; set; }
Property Value
| Type |
|---|
| System.Collections.ObjectModel.ObservableCollection<DataFormItemBase> |
Examples
SfDataForm dataForm = new SfDataForm();
var items = new ObservableCollection<DataFormItemBase>();
items.Add(new DataFormTextItem() { Name = "First", Editor = "Text" });
items.Add(new DataFormTextItem() { Name = "Password", Editor = "Password" });
dataForm.AutoGenerateItems = false;
dataForm.Items = items;
this.Content = dataForm;
LabelPosition
Gets or sets the value denotes how to layout the label associated with editor. Label's can be positioned either at the top or left side of editor.
Declaration
public LabelPosition LabelPosition { get; set; }
Property Value
| Type | Description |
|---|---|
| LabelPosition | The default value is Left. |
LabelWidth
Gets or sets the value that splits the width for label from DataFormItemView.
Declaration
public int LabelWidth { get; set; }
Property Value
| Type | Description |
|---|---|
| System.Int32 | The width of the label. |
LayoutManager
Gets or sets the layout manager.
Declaration
public DataFormLayoutManager LayoutManager { get; set; }
Property Value
| Type | Description |
|---|---|
| DataFormLayoutManager | The layout manager. |
LayoutOptions
Gets or sets the layout options for DataForm to define the layout type for the DataFormItem in dataform.
Declaration
public LayoutType LayoutOptions { get; set; }
Property Value
| Type | Description |
|---|---|
| LayoutType | The default value is Default. |
Remarks
Not appicable to radiogroup, segment, dropdown, switch and checkbox editors.
NotifyPropertyChanges
Gets or sets a value indicating whether DataObject property value changes has to be notify if DataObject is implement form INotifyPropertyChanged interface.
Declaration
public bool NotifyPropertyChanges { get; set; }
Property Value
| Type | Description |
|---|---|
| System.Boolean | The default value is false. |
Remarks
Property value changes done in DataObject which has been implemented from INotifyPropertyChanged can be notified by setting NotifyPropertyChanges true/>.
ShowHelperText
Gets or sets a value indicating whether dataform to show the helper text label in textinputlayout.
Declaration
public bool ShowHelperText { get; set; }
Property Value
| Type | Description |
|---|---|
| System.Boolean |
|
Remarks
Applicable only for the Dataform which TextInputLayout.
SourceProvider
Gets or sets the reference to the SourceProvider instance which is used to get the source for picker type editors.
Declaration
public SourceProvider SourceProvider { get; set; }
Property Value
| Type |
|---|
| SourceProvider |
ValidationMode
Gets or sets a value that denotes when the user input should be validated based on IDataErrorInfo and System.ComponentModel.DataAnnotations.ValidationAttribute.
Declaration
public ValidationMode ValidationMode { get; set; }
Property Value
| Type | Description |
|---|---|
| ValidationMode | One of the ValidationMode enum. The default value is LostFocus. |
Remarks
The SfDataForm process the built-in validations when data object implements IDataErrorInfo or property defined with System.ComponentModel.DataAnnotations.ValidationAttribute. The validation can be performed explicitly by handling Validating.
ValidationTemplate
Gets or sets the template for validation view.
Declaration
public DataTemplate ValidationTemplate { get; set; }
Property Value
| Type | Description |
|---|---|
| Xamarin.Forms.DataTemplate | The validation template. |
Methods
CollapseGroup(String)
Collapse group by group name.
Declaration
public void CollapseGroup(string groupName)
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | groupName | The name of the group. |
Commit()
Commits all property values in data form items.
Declaration
public void Commit()
Commit(String)
Commits the value of the specific property.
Declaration
public void Commit(string propertyName)
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | propertyName | Property name. |
Dispose()
Releases all resource used by the SfDataForm object.
Declaration
public void Dispose()
Remarks
Call Dispose() when you are finished using the SfDataForm. The Dispose() method leaves the SfDataForm in an unusable state. After calling Dispose(), you must release all references to the SfDataForm so the garbage collector can reclaim the memory that the SfDataForm was occupying.
Dispose(Boolean)
Dispose the specified isDisposing.
Declaration
protected virtual void Dispose(bool isDisposing)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Boolean | isDisposing | If set to |
ExpandGroup(String)
Expands group by group name.
Declaration
public void ExpandGroup(string groupName)
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | groupName | The name of the group. |
GetGroupCollapseIcon()
Gets the Resource ID from the Android resources for the group collapse icon.
Declaration
public virtual ImageSource GetGroupCollapseIcon()
Returns
| Type | Description |
|---|---|
| Xamarin.Forms.ImageSource | The group collapse icon. |
GetGroupExpanderIcon()
Gets the Resource ID from the Android resources for group expander icon.
Declaration
public virtual ImageSource GetGroupExpanderIcon()
Returns
| Type | Description |
|---|---|
| Xamarin.Forms.ImageSource | The group expander icon. |
RefreshLayout(Boolean)
Loads more fields when the user wants to generate the fields that was canceled.
Declaration
public void RefreshLayout(bool generateAllItems = false)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Boolean | generateAllItems | True to regenerate all the items from the committed data object. false only generate the field that was canceled initially. |
RegisterEditor(String, DataFormEditorBase)
Register a customzied editor.
Declaration
public void RegisterEditor(string editorName, DataFormEditorBase dataFormEditor)
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | editorName | Editor name. |
| DataFormEditorBase | dataFormEditor | Editor. |
RegisterEditor(String, String)
Registers editor for property name.
Declaration
public void RegisterEditor(string propertyName, string editor)
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | propertyName | The propertyName to have editor. |
| System.String | editor | The editor that loaded for property name. |
RegisterEditor(Type, String)
Registers editor for property type.
Declaration
public void RegisterEditor(Type type, string editor)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Type | type | The type to have editor. |
| System.String | editor | The editor that loaded for type. |
ScrollTo(String)
Scrolls to specific editor in dataform.
Declaration
public void ScrollTo(string propertyName)
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | propertyName |
UpdateEditor(String)
Updates the value of the specific property in corresponding editor.
Declaration
public void UpdateEditor(string propertyName)
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | propertyName | The property to be updated. |
Validate()
Validates all property values of data form items.
Declaration
public bool Validate()
Returns
| Type | Description |
|---|---|
| System.Boolean | Returns True if all the properties in DataForm are valid otherwise False. |
Validate(String)
Validates the value of the specific property.
Declaration
public bool Validate(string propertyName)
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | propertyName | The property to be validated. |
Returns
| Type | Description |
|---|---|
| System.Boolean | Returns True if the property is valid otherwise false. |
Events
AutoGeneratingDataFormItem
Occurs during generation of data form item.
Declaration
public event EventHandler<AutoGeneratingDataFormItemEventArgs> AutoGeneratingDataFormItem
Event Type
| Type |
|---|
| System.EventHandler<AutoGeneratingDataFormItemEventArgs> |
GroupItemCollapsed
Occurs when group gets collapsed by user.
Declaration
public event EventHandler<GroupItemCollapsedEventArgs> GroupItemCollapsed
Event Type
| Type |
|---|
| System.EventHandler<GroupItemCollapsedEventArgs> |
GroupItemCollapsing
Occurs when user try collapse a group. You can cancel the user action using this event.
Declaration
public event EventHandler<GroupItemCollapsingEventArgs> GroupItemCollapsing
Event Type
| Type |
|---|
| System.EventHandler<GroupItemCollapsingEventArgs> |
Remarks
You can cancel the user action by using GroupItemCollapsingEventArgs.
GroupItemExpanded
Occurs when group expanded by user.
Declaration
public event EventHandler<GroupItemExpandedEventArgs> GroupItemExpanded
Event Type
| Type |
|---|
| System.EventHandler<GroupItemExpandedEventArgs> |
GroupItemExpanding
Occurs when user try expand a group. You can cancel the user action using this event.
Declaration
public event EventHandler<GroupItemExpandingEventArgs> GroupItemExpanding
Event Type
| Type |
|---|
| System.EventHandler<GroupItemExpandingEventArgs> |
Remarks
You can cancel the user action by using GroupItemExpandingEventArgs.
Validated
Occurs after completion of user input validation.
Declaration
public event EventHandler<ValidatedEventArgs> Validated
Event Type
| Type |
|---|
| System.EventHandler<ValidatedEventArgs> |
Validating
Occurs when SfDataForm validates the user input.
Declaration
public event EventHandler<ValidatingEventArgs> Validating
Event Type
| Type |
|---|
| System.EventHandler<ValidatingEventArgs> |
ValidationCompleted
Occurs when Explicit to get the invalid DataFormItems details.
Declaration
public event EventHandler<ValidationCompletedEventArgs> ValidationCompleted
Event Type
| Type |
|---|
| System.EventHandler<ValidationCompletedEventArgs> |