1+ @page " /"
2+ @using Syncfusion .Blazor .Inputs ;
3+ @using Syncfusion .Blazor .DropDowns ;
4+ @using Syncfusion .Blazor .Calendars ;
5+
6+ <SfGrid DataSource =" @Orders"
7+ Toolbar =" @(new string[] {" Add " , " Edit " ," Delete " ," Update " ," Cancel " })" >
8+ <GridEvents TValue =" OrderDetails"
9+ OnActionBegin =" OnActionBeginHandler" ></GridEvents >
10+ <GridEditSettings AllowAdding =" true"
11+ AllowEditing =" true"
12+ AllowDeleting =" true"
13+ Mode =" EditMode.Dialog" >
14+ <Template >
15+ @{
16+ var Order = (context as OrderDetails );
17+ }
18+ <div >
19+ <div class =" form-row" >
20+ <div class =" form-group col-md-6" >
21+ <SfNumericTextBox @bind-Value =" @(Order.OrderID)"
22+ Enabled =" @IsAddNew"
23+ Placeholder =" Order ID"
24+ FloatLabelType =" FloatLabelType.Always"
25+ TValue =" int?" ></SfNumericTextBox >
26+ </div >
27+ <div class =" form-group col-md-6" >
28+ <SfAutoComplete DataSource =" @Orders"
29+ TItem =" OrderDetails"
30+ TValue =" string"
31+ @bind-Value =" @(Order.CustomerID)"
32+ Placeholder =" Customer Name"
33+ FloatLabelType =" FloatLabelType.Always" >
34+ <AutoCompleteFieldSettings Value =" CustomerID" ></AutoCompleteFieldSettings >
35+ </SfAutoComplete >
36+ </div >
37+ </div >
38+ <div class =" form-row" >
39+ <div class =" form-group col-md-6" >
40+ <SfDatePicker @bind-Value =" @(Order.OrderDate)"
41+ Placeholder =" Order Date"
42+ FloatLabelType =" FloatLabelType.Always" ></SfDatePicker >
43+ </div >
44+ <div class =" form-group col-md-6" >
45+ <SfDropDownList DataSource =" @Orders"
46+ TItem =" OrderDetails"
47+ TValue =" string"
48+ @bind-Value =" @(Order.ShipCountry)"
49+ Placeholder =" Ship Country"
50+ FloatLabelType =" FloatLabelType.Always" >
51+ <DropDownListFieldSettings Value =" ShipCountry"
52+ Text =" ShipCountry" >
53+ </DropDownListFieldSettings >
54+ </SfDropDownList >
55+ </div >
56+ </div >
57+ <div class =" form-row" >
58+ <div class =" form-group col-md-12" >
59+ <SfTextBox @bind-Value =" @(Order.ShipAddress)"
60+ Placeholder =" Ship Address"
61+ FloatLabelType =" FloatLabelType.Always" ></SfTextBox >
62+ </div >
63+ </div >
64+ </div >
65+ </Template >
66+ </GridEditSettings >
67+ <GridColumns >
68+ <GridColumn Field =" OrderID"
69+ HeaderText =" Order ID"
70+ TextAlign =" TextAlign.Right"
71+ Width =" 120"
72+ IsPrimaryKey =" true" >
73+ </GridColumn >
74+ <GridColumn Field =" CustomerID"
75+ HeaderText =" Customer Name"
76+ Width =" 150" >
77+ </GridColumn >
78+ <GridColumn Field =" ShipCountry"
79+ HeaderText =" ShipCountry"
80+ Width =" 150" >
81+ </GridColumn >
82+ </GridColumns >
83+ </SfGrid >
84+
85+ @code {
86+ public bool IsAddNew = false ;
87+
88+ public List <OrderDetails > Orders { get ; set ; } = new List <OrderDetails >(){
89+ new OrderDetails () { OrderID = 10248 , CustomerID = " VINET" , Freight = 32 . 38 , ShipCity = " Berlin" , OrderDate = DateTime .Now .AddDays (- 2 ), ShipName = " Vins et alcools Chevalier" , ShipCountry = " Denmark" , ShipAddress = " Kirchgasse 6" },
90+ new OrderDetails () { OrderID = 10249 , CustomerID = " TOMSP" , Freight = 11 . 61 , ShipCity = " Madrid" , OrderDate = DateTime .Now .AddDays (- 5 ), ShipName = " Toms Spezialitäten" , ShipCountry = " Brazil" , ShipAddress = " Avda. Azteca 123" },
91+ new OrderDetails () { OrderID = 10250 , CustomerID = " HANAR" , Freight = 65 . 83 , ShipCity = " Cholchester" , OrderDate = DateTime .Now .AddDays (- 12 ), ShipName = " Hanari Carnes" , ShipCountry = " Germany" , ShipAddress = " Carrera 52 con Ave. Bolívar #65-98 Llano Largo" },
92+ new OrderDetails () { OrderID = 10251 , CustomerID = " VICTE" , Freight = 41 . 34 , ShipCity = " Marseille" , OrderDate = DateTime .Now .AddDays (- 18 ), ShipName = " Victuailles en stock" , ShipCountry = " Austria" , ShipAddress = " Magazinweg 7" },
93+ new OrderDetails () { OrderID = 10252 , CustomerID = " SUPRD" , Freight = 51 . 3 , ShipCity = " Tsawassen" , OrderDate = DateTime .Now .AddDays (- 22 ), ShipName = " Suprêmes délices" , ShipCountry = " Switzerland" , ShipAddress = " 1029 - 12th Ave. S." },
94+ new OrderDetails () { OrderID = 10253 , CustomerID = " HANAR" , Freight = 58 . 17 , ShipCity = " Tsawassen" , OrderDate = DateTime .Now .AddDays (- 26 ), ShipName = " Hanari Carnes" , ShipCountry = " Switzerland" , ShipAddress = " 1029 - 12th Ave. S." },
95+ new OrderDetails () { OrderID = 10254 , CustomerID = " CHOPS" , Freight = 22 . 98 , ShipCity = " Berlin" , OrderDate = DateTime .Now .AddDays (- 34 ), ShipName = " Chop-suey Chinese" , ShipCountry = " Denmark" , ShipAddress = " Kirchgasse 6" },
96+ new OrderDetails () { OrderID = 10255 , CustomerID = " RICSU" , Freight = 148 . 33 , ShipCity = " Madrid" , OrderDate = DateTime .Now .AddDays (- 39 ), ShipName = " Richter Supermarket" , ShipCountry = " Brazil" , ShipAddress = " Avda. Azteca 123" },
97+ new OrderDetails () { OrderID = 10256 , CustomerID = " WELLI" , Freight = 13 . 97 , ShipCity = " Madrid" , OrderDate = DateTime .Now .AddDays (- 43 ), ShipName = " Wellington Importadora" , ShipCountry = " Brazil" , ShipAddress = " Avda. Azteca 123" },
98+ new OrderDetails () { OrderID = 10257 , CustomerID = " HILAA" , Freight = 81 . 91 , ShipCity = " Cholchester" , OrderDate = DateTime .Now .AddDays (- 48 ), ShipName = " HILARION-Abastos" , ShipCountry = " Germany" , ShipAddress = " Carrera 52 con Ave. Bolívar #65-98 Llano Largo" }
99+ };
100+
101+ public class OrderDetails
102+ {
103+ public int ? OrderID { get ; set ; }
104+ public string CustomerID { get ; set ; }
105+ public double ? Freight { get ; set ; }
106+ public string ShipCity { get ; set ; }
107+ public DateTime OrderDate { get ; set ; }
108+ public string ShipName { get ; set ; }
109+ public string ShipCountry { get ; set ; }
110+ public string ShipAddress { get ; set ; }
111+ }
112+
113+ private void OnActionBeginHandler (ActionEventArgs < OrderDetails > args )
114+ => IsAddNew = args .RequestType .Equals (Syncfusion .Blazor .Grids .Action .Add );
115+ }
116+
117+ <style >
118+ .form-group .col-md-6 {
119+ width : 200px ;
120+ }
121+ </style >
0 commit comments