Version: 2.0 |

FormGroup

in namespace DotVVM.Framework.Controls.Bootstrap4

Represents a group in the Form control.

Properties

Name Type Description Notes Default Value
ContentTemplate List<DotvvmControl> Gets or sets the content of the form group.
attribute
inner element
static value
bindable
default
LabelSize Int32? Gets or sets the size of size the label area for all screen sizes. This applies only to the Horizontal forms.
attribute
inner element
static value
bindable
default
LabelSizeLG Int32? Gets or sets the size of the label area large screen. This applies only to the Horizontal forms.
attribute
inner element
static value
bindable
default
LabelSizeMD Int32? Gets or sets the size of the label area for medium screen. This applies only to the Horizontal forms.
attribute
inner element
static value
bindable
default
LabelSizeSM Int32? Gets or sets the size of the label area small screen. This applies only to the Horizontal forms.
attribute
inner element
static value
bindable
default
LabelSizeXL Int32? Gets or sets the size of the label area for extra large screen. This applies only to the Horizontal forms.
attribute
inner element
static value
bindable
default
LabelTemplate ITemplate Gets or sets the template of the label area. This property cannot be combined with the LabelText property.
attribute
inner element
static value
bindable
default
LabelText String Gets or sets the label text. This property cannot be combined with the LabelTemplate property.
attribute
inner element
static value
bindable
default
Size Size Gets or sets the size of controls in the form group.
attribute
inner element
static value
bindable
default
Default
Type FormGroupType Gets or sets the type of the form.
attribute
inner element
static value
bindable
default
Default

Events

Name Type Description

Usage & Scenarios

The FormGroup is used inside the Form control and renders a form field with a label.

https://getbootstrap.com/docs/4.1/components/forms/#form-groups

HTML Rendered by the Control

Sample 1: FormGroup Usage

Place any content inside the FormGroup control.

The TextBox and ComboBox controls will get the class="form-control" automatically so they'll get the default Bootstrap look.

If you use the CheckBox and RadioButton controls, make sure you use <bs:CheckBox> and <bs:RadioButton> instead of <dot:CheckBox> and <dot:RadioButton> controls.

<bs:Form>
  
  <bs:FormGroup LabelText="TextBox">
    <dot:TextBox Text="{value: Text}" />
    <!-- the "form-group" CSS class is added automatically to the TextBox control -->
  </bs:FormGroup>
  
  <bs:FormGroup LabelText="ComboBox">
    <dot:ComboBox DataSource="{value: Items}" SelectedValue="{value: Item}" />
    <!-- the "form-group" CSS class is added automatically to the ComboBox control -->
  </bs:FormGroup>
    
  <bs:FormGroup LabelText="CheckBox">
    <bs:CheckBox Checked="{value: IsChecked}" />
  </bs:FormGroup>
  
  <bs:FormGroup LabelText="RadioButton">
    <bs:RadioButton Checked="{value: Radio}" CheckedValue="{value: true}" />
    <bs:RadioButton Checked="{value: Radio}" CheckedValue="{value: false}" />
  </bs:FormGroup>

</bs:Form>

Text: {{value: Text}} <br />
ComboBox: {{value: Item}} <br />
CheckBox: {{value: IsChecked}} <br />
RadioButton: {{value: Radio}} <br />
using DotVVM.Framework.ViewModel;

namespace DotvvmWeb.Views.Docs.Controls.bootstrap.FormGroup.sample1
{
    public class ViewModel : DotvvmViewModelBase
    {
        public string Text { get; set; }

        public string[] Items => new[] { "one", "two", "three" };

        public string Item { get; set; } = "one";

        public bool IsChecked { get; set; }

        public bool Radio { get; set; }
    }
}

Sample 2: FormGroup LabelTemplate

If you need custom content in the label, just use the LabelTemplate property instead of LabelText.

<bs:Form>
  <bs:FormGroup>
    <LabelTemplate>
      Your favorite colors
      <bs:Button Text="Send" Click="{command: DoSomething()}"></bs:Button>
    </LabelTemplate>
    <FormContent>
      <bs:CheckBox Text="Red" Checked="{value: Red}" IsInline="true" />
      <bs:CheckBox Text="Blue" Checked="{value: Blue}" IsInline="true" />
    </FormContent>
  </bs:FormGroup>
  <span>{{value: Text}}</span>
</bs:Form>
using DotVVM.Framework.ViewModel;

namespace DotvvmWeb.Views.Docs.Controls.bootstrap.FormGroup.sample2
{
    public class ViewModel : DotvvmViewModelBase
    {
        public bool Red { get; set; } = false;
        public bool Blue { get; set; } = true;
        public string Text { get; set; }
        public void DoSomething()
        {
            if(Red && Blue)
            {
                Text = "You select two colors";
            }
            else
            {
                Text = "You select only one color";
            }
        }
    }
}

Suggestions


Help & Contribute

The documentation is maintained on GitHub.
We'll be happy if you edit the page and create a pull request.

Send message