Hi,
I cannot export the grid please help.
@page "/DataImportantDate"
@using LibraryManagement.Models
@inject ILibraryService LibraryService
<h3>Important Dates</h3>
<div class="col-lg-12 control-section">
<div class="content-wrapper">
<div class="row"></div>
<SfGrid DataSource="@ListImportantDate" ID="Grid" AllowTextWrap=true AllowExcelExport=true @ref="DefaultGrid" TValue="ImportantDate"
Toolbar="@(new List<string>() { "Add", "Edit", "Delete", "Cancel", "Update", "ExcelExport" })"
AllowFiltering="true" AllowPaging="true" AllowSorting=true>
<GridEditSettings AllowAdding="true" AllowDeleting="true" AllowEditing="true" Mode="EditMode.Dialog"></GridEditSettings>
<GridEvents OnToolbarClick="ToolbarClickHandler" TValue="ImportantDate"></GridEvents>
<GridPageSettings PageSize="10"></GridPageSettings>
<GridColumns>
<GridColumn Field="@nameof(ImportantDate.ID)" Width="30" IsPrimaryKey=true IsIdentity=true Visible=true></GridColumn>
<GridColumn Field="@nameof(ImportantDate.DateFrom)" Width="80" EditType="EditType.DefaultEdit" Format="dd-MMM-yyyy" TextAlign="TextAlign.Right"></GridColumn>
<GridColumn Field="@nameof(ImportantDate.DateTo)" Width="80" EditType="EditType.DefaultEdit" Format="dd-MMM-yyyy" TextAlign="TextAlign.Right"></GridColumn>
<GridColumn Field="@nameof(ImportantDate.Remarks)" HeaderText="Remarks" EditType="EditType.DefaultEdit" Width="250"></GridColumn>
<GridColumn Field="@nameof(ImportantDate.DateInsert)" Width="50" DefaultValue=@dt TextAlign="TextAlign.Right"></GridColumn>
<GridColumn Field="@nameof(ImportantDate.DateUpdate)" Width="50" DefaultValue=@dt TextAlign="TextAlign.Right"></GridColumn>
</GridColumns>
<GridSortSettings>
<GridSortColumns>
<GridSortColumn Field="ID" Direction="SortDirection.Descending"></GridSortColumn>
</GridSortColumns>
</GridSortSettings>
</SfGrid>
</div>
</div>
@code {
private DateTime dt = DateTime.Now;
private SfGrid<ImportantDate> DefaultGrid;
public IEnumerable<ImportantDate> ListImportantDate { get; set; }
protected override void OnInitialized()
{
ListImportantDate = LibraryService.GetImportantDates();
}
public void ActionBeginHandler(ActionEventArgs<ImportantDate> Args)
{
if (Args.RequestType.Equals(Syncfusion.Blazor.Grids.Action.Save))
{
if (Args.Action == "Add")
{
//LibraryService.InsertDepartment(Args.Data.DateInsert = DateTime);
//Args.Data.Status = (WeatherForecastState)Enum.Parse(typeof(WeatherForecastState), DropDownList.Value);
Args.Data.DateInsert = DateTime.Now;
LibraryService.InsertImportantDate(Args.Data);
}
else
{
Args.Data.DateUpdate = DateTime.Now;
LibraryService.UpdateImportantDate(Args.Data.ID, Args.Data);
}
}
if (Args.RequestType.Equals(Syncfusion.Blazor.Grids.Action.Delete))
{
LibraryService.DeleteImportantDate(Args.Data.ID);
}
}
public void ActionCompleteHandler(ActionEventArgs<ImportantDate> Args)
{
if (Args.RequestType.Equals(Syncfusion.Blazor.Grids.Action.Save))
{
ListImportantDate = LibraryService.GetImportantDates(); //to fetch the updated data from db to Grid
}
}
public async Task ToolbarClickHandler(Syncfusion.Blazor.Navigations.ClickEventArgs args)
{
//https://blazor.syncfusion.com/documentation/datagrid/excel-exporting
if (args.Item.Id == "Grid") //Id is combination of Grid's ID and itemname
{
await ExportGrid();
}
}
private async Task ExportGrid()
{
ExcelExportProperties ExportProperties = new ExcelExportProperties();
ExportProperties.ExportType = ExportType.AllPages;
ExportProperties.FileName = "Important_Date.xlsx";
await this.DefaultGrid.ExcelExport(ExportProperties);
//await Grid.ExportToExcelAsync();
}
}
SAM
Hi Sam,
Greetings from Syncfusion support.
We have checked your query and we would like to inform that we should include the item id as an combination of Grid ID (Grid) and itemname (excelexport). Kindly refer the attached code snippet and UG for your reference.
|
public async Task ToolbarClickHandler(Syncfusion.Blazor.Navigations.ClickEventArgs args) { //https://blazor.syncfusion.com/documentation/datagrid/excel-exporting if (args.Item.Id == "Grid") //Id is combination of Grid's ID and itemname { await ExportGrid(); } }
|
|
public async Task ToolbarClickHandler(Syncfusion.Blazor.Navigations.ClickEventArgs args) { //https://blazor.syncfusion.com/documentation/datagrid/excel-exporting if (args.Item.Id == "Grid_excelexport ") //Id is combination of Grid's ID and itemname { await ExportGrid(); } }
|
Reference: https://blazor.syncfusion.com/documentation/datagrid/excel-exporting
Kindly get back to us if you have further queries.
Regards,
Monisha