Essential Studio for Blazor Release Notes
v17.2.49
September 3, 2019
AccumulationChart
Breaking Changes
Now, the following tags have been renamed.
Previous Name | Modified Name |
---|---|
AccumulationAnnotationSettings | AccumulationChartAnnotations |
AccumulationChartAccumulationAnnotation | AccumulationChartAnnotation |
AccumualationTooltipFont | AccumulationChartTooltipTextStyle |
DataManager
Features
- Added Web API batch edit handling support.
Dialog
Bug Fixes
-
F146723
,F146628
- Resolved the delay rendering while a component is rendered using the child-content and template approach.
Grid
Bug Fixes
-
246248
- Script error thrown when DataSource is null and while performing search in theMultiSelect
component has been resolved. -
F146875
- Multiple checkbox selection is not working whenrowSelected
event is used inblazor
grid has been resolved. -
243156
- Data is not getting updated for first time on external action has been resolved. -
F146396
- Template column is not displayed when itsDataType
is TimeSpan has been resolved. -
F146078
- Unable to use read-only properties inside column template is resolved - Script error has been fixed while using
rowSelected
event. - Column dataSource provided as
WebAPIAdpator
was converted toBlazorAdaptor
during initial rendering has been fixed. -
F146980
- Incorrect GUID filter query string generation is now resolved. -
240240
,245760
- conditional formatting is not applied properly to all the columns has been resolved. -
F146668
- Dictionary values are not properly serialized in grid templates has been resolved.
Features
- Data annotation support has been added. Now you can use various attributes to define grid column and other options. More information can be find here.
Breaking Changes
- Now you can define filter column declaratively. Also now use
GridFilterColumn
instead ofPredicateModel
.
Previous
@{
List<PredicateModel> FilterColumns = new List<PredicateModel>();
FilterColumns.Add(new PredicateModel() { Field = "CustomerID", Operator = Operator.StartsWith, Value = "ANANTR" });
}
<EjsGrid DataSource="@Orders" AllowFiltering="true">
<GridFilterSettings Columns="@FilterColumns"></GridFilterSettings>
<GridColumns>
...
</GridColumns>
</EjsGrid>
Now
<EjsGrid DataSource="@Orders" AllowFiltering="true">
<GridFilterSettings>
<GridFilterColumns>
<GridFilterColumn Field="CustomerID" Value="@("A")" Operator=Operator.StartsWith>
</GridFilterColumn>
</GridFilterColumns>
</GridFilterSettings>
...
</EjsGrid>
- Now you can define filter column declaratively. Also now use
GridSortColumn
instead ofSortDescriptorModel
.
Previous
@{
List<SortDescriptorModel> SortedColumns = new List<SortDescriptorModel>();
SortedColumns.Add(new SortDescriptorModel() { Field = "OrderDate", Direction = SortDirection.Ascending });
SortedColumns.Add(new SortDescriptorModel() { Field = "Freight", Direction = SortDirection.Descending });
}
<EjsGrid DataSource="@Orders" AllowSorting="true">
<GridSortSettings Columns="@SortedColumns"></GridSortSettings>
<GridColumns>
...
</GridColumns>
</EjsGrid>
Now
<EjsGrid DataSource="@Orders" AllowSorting="true">
<GridSortSettings>
<GridSortColumns>
<GridSortColumn Field="OrderDate" Direction=SortDirection.Ascending>
</GridSortColumn>
<GridSortColumn Field="Freight" Direction=SortDirection.Descending>
</GridSortColumn>
</GridSortColumns>
</GridSortSettings>
<GridColumns>
...
</GridColumns>
</EjsGrid>
- Now you can define command column declaratively. Also now use
GridCommandColumn
instead ofCommandModel
.
Previous
@{
List<CommandModel> Commands = new List<CommandModel>();
Commands.Add(new CommandModel() { Type = CommandButtonType.Edit, ButtonOption = new CommandButtonOptions() { IconCss = "e-icons e-edit", CssClass = "e-flat" } });
Commands.Add(new CommandModel() { Type = CommandButtonType.Delete, ButtonOption = new CommandButtonOptions() { IconCss = "e-icons e-delete", CssClass = "e-flat" } });
Commands.Add(new CommandModel() { Type = CommandButtonType.Save, ButtonOption = new CommandButtonOptions() { IconCss = "e-icons e-save", CssClass = "e-flat" } });
Commands.Add(new CommandModel() { Type = CommandButtonType.Cancel, ButtonOption = new CommandButtonOptions() { IconCss = "e-icons e-cancel", CssClass = "e-flat" } });
}
<EjsGrid DataSource="@Orders">
<GridColumns>
...
<GridColumn HeaderText="Manage Records" Commands="@Commands" Width="150"></GridColumn>
</GridColumns>
</EjsGrid>
Now
<EjsGrid DataSource="@Orders">
<GridColumns>
...
<GridColumn HeaderText="Manage Records" Width="150">
<GridCommandColumns>
<GridCommandColumn Type="CommandButtonType.Edit" ButtonOption="@(new CommandButtonOptions() { IconCss = "e-icons e-edit", CssClass = "e-flat" })"></GridCommandColumn>
<GridCommandColumn Type="CommandButtonType.Delete" ButtonOption="@(new CommandButtonOptions() { IconCss = "e-icons e-delete", CssClass = "e-flat" })"></GridCommandColumn>
<GridCommandColumn Type="CommandButtonType.Save" ButtonOption="@(new CommandButtonOptions() { IconCss = "e-icons e-update", CssClass = "e-flat" })"></GridCommandColumn>
<GridCommandColumn Type="CommandButtonType.Cancel" ButtonOption="@(new CommandButtonOptions() { IconCss = "e-icons e-cancel-icon", CssClass = "e-flat" })"></GridCommandColumn>
</GridCommandColumns>
</GridColumn>
</GridColumns>
</EjsGrid>
- The type of
EditType
property inGridColumn
is modified from string type to Enum type.
Previous
<EjsGrid DataSource="@Orders">
<GridColumns>
...
<GridColumn Field=@nameof(OrdersDetails.OrderDate) EditType="date"></GridColumn>
...
</GridColumns>
</EjsGrid>
Now
<EjsGrid DataSource="@Orders">
<GridColumns>
...
<GridColumn Field=@nameof(OrdersDetails.OrderDate) EditType=EditType.Date></GridColumn>
...
</GridColumns>
</EjsGrid>
- The
Type
property inGridColumn
is modified from string type to Enum type.
Previous
<EjsGrid DataSource="@Orders">
<GridColumns>
...
<GridColumn Field=@nameof(OrdersDetails.OrderDate) Type="date"></GridColumn>
...
</GridColumns>
</EjsGrid>
Now
<EjsGrid DataSource="@Orders">
<GridColumns>
...
<GridColumn Field=@nameof(OrdersDetails.OrderDate) Type=ColumnType.Date></GridColumn>
...
</GridColumns>
</EjsGrid>
- The
Operator
property inGridFilterSettings
is modified from string type to Enum type.
Previous
@{
List<PredicateModel> FilterColumns = new List<PredicateModel>();
FilterColumns.Add(new PredicateModel() { Field = "CustomerID", Operator = "StartsWith", Value = "ANANTR" });
}
<EjsGrid DataSource="@Orders" AllowFiltering="true">
<GridFilterSettings Columns="@FilterColumns"></GridFilterSettings>
<GridColumns>
...
</GridColumns>
</EjsGrid>
Now
@using Syncfusion.EJ2.Blazor
<EjsGrid DataSource="@Orders" AllowFiltering="true">
<GridFilterSettings>
<GridFilterColumns>
<GridFilterColumn Field="CustomerID" Value="@("ANANTR")" Operator=Operator.StartsWith>
</GridFilterColumn>
</GridFilterColumns>
</GridFilterSettings>
...
</EjsGrid>
- The
Operator
property inGridSearchSettings
is modified from string type to Enum type.
Previous
<EjsGrid DataSource="@Orders">
<GridSearchSettings Fields="@(new string[] { "CustomerID" })" Operator="Contains" Key="anton"></GridSearchSettings>
<GridColumns>
...
</GridColumns>
</EjsGrid>
Now
@using Syncfusion.EJ2.Blazor
<EjsGrid DataSource="@Orders">
<GridSearchSettings Fields="@(new string[] { "CustomerID" })" Operator= Operator.Contains Key="anton"></GridSearchSettings>
<GridColumns>
...
</GridColumns>
</EjsGrid>
Menu
Bug Fixes
-
244943
- Script error throws while changing the datasource in Menu component has been resolved.
RichTextEditor
Bug Fixes
-
#244622
- Resolved the issue with passing the enum type as a function parameter.
Schedule
Bug Fixes
-
146574
,146842
-ActionCompleted
event will now properly trigger when performing CRUD actions. -
242728
- The issue with navigating to upcoming weeks while using Scheduler client-side events has been fixed. -
146901
- TheSelectedDateChanged
event triggers twice has been fixed. -
241996
- Provided theDragged
andResized
events support now. -
245379
- The issue with tracingctrl
key press on cell click has been fixed.
Tab
Bug Fixes
-
245937
- The issue withSelected
andSelecting
event triggering multiple times has been fixed.
TreeGrid
Bug Fixes
-
245760
- Conditional Formatting works fine using RowDataBound event.