1+ @page " /"
2+ @using Blazor_EditForm .Data
3+ <h1 >Employee Details Form</h1 >
4+
5+ <EditForm Model =" @employeeDetails" OnValidSubmit =" @Submit" >
6+ <DataAnnotationsValidator />
7+ <div class =" form-row" >
8+ <div class =" form-group col-md-6" >
9+ <label class =" col-form-label" >First Name :</label >
10+ <SfTextBox @bind-Value =" @employeeDetails.FirstName" ></SfTextBox >
11+ <ValidationMessage For =" @(() => employeeDetails.FirstName)" ></ValidationMessage >
12+ </div >
13+ <div class =" form-group col-md-6" >
14+ <label class =" col-form-label" >Last Name :</label >
15+ <SfTextBox @bind-Value =" @employeeDetails.LastName" ></SfTextBox >
16+ <ValidationMessage For =" @(() => employeeDetails.LastName)" ></ValidationMessage >
17+ </div >
18+ </div >
19+ <div class =" form-row" >
20+ <div class =" form-group col-md-6" >
21+ <label class =" col-form-label" >Email ID :</label >
22+ <SfTextBox @bind-Value =" @employeeDetails.Email" ></SfTextBox >
23+ <ValidationMessage For =" @(() => employeeDetails.Email)" ></ValidationMessage >
24+ </div >
25+ <div class =" form-group col-md-6" >
26+ <label class =" col-form-label" >Phone Number :</label >
27+ <SfTextBox @bind-Value =" @employeeDetails.PhoneNumber" ></SfTextBox >
28+ <ValidationMessage For =" @(() => employeeDetails.PhoneNumber)" ></ValidationMessage >
29+ </div >
30+ </div >
31+
32+ <div class =" form-row" >
33+ <div class =" form-group col-md-6" >
34+ <label class =" col-form-label" >Date Of Birth :</label >
35+ <SfDatePicker @bind-Value =" @employeeDetails.DOB" Max =DateTime.Now ></SfDatePicker >
36+ <ValidationMessage For =" @(() => employeeDetails.DOB)" ></ValidationMessage >
37+ </div >
38+ <div class =" form-group col-md-6" >
39+ <label class =" col-form-label" >Total Experience :</label >
40+ <SfNumericTextBox @bind-Value =" @employeeDetails.TotalExperience" ></SfNumericTextBox >
41+ <ValidationMessage For =" @(() => employeeDetails.TotalExperience)" ></ValidationMessage >
42+ </div >
43+ </div >
44+ <div class =" form-row" >
45+ <div class =" form-group col-md-6" >
46+ <label class =" col-form-label" >Address :</label >
47+ <SfTextBox Multiline =true @bind-Value =" @employeeDetails.Address" ></SfTextBox >
48+ <ValidationMessage For =" @(() => employeeDetails.Address)" ></ValidationMessage >
49+ </div >
50+ <div class =" form-group col-md-3" >
51+ <label class =" col-form-label" >Gender :</label >
52+ <div >
53+ <SfRadioButton Label =" Male" Name =" Gender" Value =" male" @bind-Checked =" @employeeDetails.Gender" ></SfRadioButton >
54+ <SfRadioButton TChecked =" string" Label =" Female" Name =" Gender" Value =" female" @bind-Checked =" @employeeDetails.Gender" ></SfRadioButton >
55+ </div >
56+ </div >
57+
58+ </div >
59+ <div class =" form-row" >
60+ <div class =" form-group col-md-6" >
61+ <label class =" col-form-label" >Country :</label >
62+ <SfComboBox TValue =" string" TItem =" Countries" @bind-Value =" @employeeDetails.Country" DataSource =" @countries" >
63+ <ComboBoxFieldSettings Text =" Name" Value =" Code" ></ComboBoxFieldSettings >
64+ <ComboBoxEvents TValue =" string" ValueChange =" ChangeCountry" ></ComboBoxEvents >
65+ </SfComboBox >
66+ <ValidationMessage For =" @(() => employeeDetails.Country)" ></ValidationMessage >
67+ </div >
68+ <div class =" form-group col-md-6" >
69+ <label class =" col-form-label" >City :</label >
70+ <SfDropDownList Enabled =" @enableCityDropDown" TValue =" string" TItem =" Cities" @bind-Value =" @employeeDetails.City" Query =" @CityQuery" DataSource =" @cities" >
71+ <DropDownListFieldSettings Text =" Name" Value =" Code" ></DropDownListFieldSettings >
72+ </SfDropDownList >
73+ <ValidationMessage For =" @(() => employeeDetails.City)" ></ValidationMessage >
74+ </div >
75+ </div >
76+ <ValidationSummary />
77+ <div class =" form-group" >
78+ <SfButton Type =" submit" IsPrimary =true >Save</SfButton >
79+ <SfButton Type =" reset" >Reset</SfButton >
80+ </div >
81+ </EditForm >
82+
83+ @code {
84+ EmployeeDetails employeeDetails ;
85+ List <EmployeeDetails > EmployeeList = new List <EmployeeDetails >();
86+ List <Countries > countries ;
87+ List <Cities > cities ;
88+ bool enableCityDropDown ;
89+ public Query CityQuery { get ; set ; } = null ;
90+
91+ protected override void OnInitialized ()
92+ {
93+ employeeDetails = new EmployeeDetails ();
94+ countries = new Countries ().GetCountries ();
95+ cities = new Cities ().GetCities ();
96+ }
97+ public void ChangeCountry (Syncfusion .Blazor .DropDowns .ChangeEventArgs < string > args )
98+ {
99+ this .enableCityDropDown = true ;
100+ this .CityQuery = new Query ().Where (new WhereFilter () { Field = " CountryCode" , Operator = " equal" , value = args .Value , IgnoreCase = false , IgnoreAccent = false });
101+ this .employeeDetails .City = null ;
102+ }
103+
104+ public void Submit ()
105+ {
106+ EmployeeList .Add (employeeDetails );
107+ }
108+ }
0 commit comments