<SfGrid DataSource="@Orders" AllowPaging="true" Height="200" Toolbar="Toolbaritems">
@if (CustomTool) // here check for the condition whether the toolbar has custom items.
{
<GridEvents OnToolbarClick="ToolbarClickHandler" TValue="Order"></GridEvents>
}
<GridEditSettings AllowAdding="true" AllowEditing="true" AllowDeleting="true" Mode="EditMode.Normal"></GridEditSettings>
<GridColumns>
<GridColumn Field=@nameof(Order.OrderID) HeaderText="Order ID" TextAlign="TextAlign.Right" IsPrimaryKey="true" ValidationRules="new ValidationRules() { Required = true }" Width="120"></GridColumn>
<GridColumn Field=@nameof(Order.CustomerID) HeaderText="Customer Name" ValidationRules="new ValidationRules() { Required = true }" Width="150"></GridColumn>
<GridColumn Field=@nameof(Order.OrderDate) HeaderText=" Order Date" Format="d" Type="ColumnType.Date" TextAlign="TextAlign.Right" Width="130"></GridColumn>
<GridColumn Field=@nameof(Order.Freight) HeaderText="Freight" Format="C2" TextAlign="TextAlign.Right" EditType="EditType.NumericEdit" ValidationRules="new ValidationRules() { Required = true }" Width="120"></GridColumn>
</GridColumns>
</SfGrid>
|
public async Task RowSelected(Syncfusion.Blazor.Grids.RowSelectEventArgs<T> args)
{
await GridRef.StartEdit();
}
private SfGrid<T> GridRef { get; set; }
protected override void BuildRenderTree(RenderTreeBuilder builder)
{
builder.OpenComponent<SfGrid<T>>(0);
builder.AddAttribute(1, nameof(AllowPaging), true);
builder.AddAttribute(2, nameof(DataSource), DataSource);
builder.AddAttribute(3, "ChildContent", new RenderFragment(inner =>
{
inner.OpenComponent<GridPageSettings>(5);
inner.AddAttribute(6, nameof(GridPageSettings.PageSize), Microsoft.AspNetCore.Components.CompilerServices.RuntimeHelpers.TypeCheck<System.Int32>(10));
inner.CloseComponent();
inner.OpenComponent<GridEditSettings>(8);
inner.AddAttribute(9,"AllowAdding",true);
inner.AddAttribute(10, nameof(GridEditSettings.AllowDeleting), Microsoft.AspNetCore.Components.CompilerServices.RuntimeHelpers.TypeCheck<bool>(true));
inner.AddAttribute(11, nameof(GridEditSettings.AllowEditing), Microsoft.AspNetCore.Components.CompilerServices.RuntimeHelpers.TypeCheck<System.Boolean>(true));
inner.CloseComponent();
inner.OpenComponent<GridColumns>(12);
inner.AddAttribute(13, "ChildContent", (RenderFragment)((_builder1) =>
{
_builder1.OpenComponent(14, typeof(Syncfusion.Blazor.Grids.GridColumn));
_builder1.AddAttribute(15, "Field", Microsoft.AspNetCore.Components.CompilerServices.RuntimeHelpers.TypeCheck<System.String>("OrderID"));
_builder1.AddAttribute(16, "IsPrimaryKey", Microsoft.AspNetCore.Components.CompilerServices.RuntimeHelpers.TypeCheck<System.Boolean>(true));
_builder1.CloseComponent();
_builder1.AddMarkupContent(17, "\r\n");
_builder1.OpenComponent(18, typeof(Syncfusion.Blazor.Grids.GridColumn));
_builder1.AddAttribute(19, "Field", Microsoft.AspNetCore.Components.CompilerServices.RuntimeHelpers.TypeCheck<System.String>("CustomerID"));
_builder1.CloseComponent();
_builder1.AddMarkupContent(21, "\r\n");
_builder1.OpenComponent(22, typeof(Syncfusion.Blazor.Grids.GridColumn));
_builder1.AddAttribute(23, "Field", Microsoft.AspNetCore.Components.CompilerServices.RuntimeHelpers.TypeCheck<System.String>("Freight"));
_builder1.CloseComponent();
_builder1.AddMarkupContent(25, "\r\n");
_builder1.OpenComponent(26, typeof(Syncfusion.Blazor.Grids.GridColumn));
_builder1.AddAttribute(27, "Field", Microsoft.AspNetCore.Components.CompilerServices.RuntimeHelpers.TypeCheck<System.String>("OrderDate"));
_builder1.CloseComponent();
_builder1.AddMarkupContent(29, "\r\n");
}));
inner.CloseComponent();
inner.OpenComponent<GridEvents<T>>(31);
inner.AddAttribute<Syncfusion.Blazor.Grids.RowSelectEventArgs<T>>(32, "RowSelected",
EventCallback.Factory.Create<Syncfusion.Blazor.Grids.RowSelectEventArgs<T>>(this, RowSelected));
inner.CloseComponent();
}));
builder.AddAttribute(34, nameof(Toolbar), new List<string>() {"Add", "Edit", "Cancel", "Update" });
builder.AddComponentReferenceCapture(35, inst => { GridRef = (SfGrid<T>)inst; });
builder.CloseComponent();
}
|