Hi all,
I'm trying to catch server side error on toolbarclick action but I don't know which property I should use.
This is my code:
@{
Layout = LayoutPaths.Profile;
PageInfo.Title = Sana.SimpleText("AltExcelImport_Header", "Excel Import");
}
@Html.EJS().Grid("Grid").AllowExcelExport().ToolbarClick("toolbarClick").AllowPaging().Toolbar(new List<string>
() { "ExcelExport" }).DataBound("dataBound").Render()
@Html.EJS().Uploader("UploadFiles").AutoUpload(true).Multiple(false).AsyncSettings(new Syncfusion.EJ2.Inputs.UploaderAsyncSettings { SaveUrl = @Url.Action("ExcelUpload", "Orders") }).Success("success").Render()
<script>
var Sana = Sana || {};
function success(args) {
var grid = document.getElementsByClassName('e-grid')[0].ej2_instances[0];
var griddata = JSON.parse(args.e.target.responseText);
grid.dataSource = griddata;
}
function error(args) {
var errorMessage = args.error[0].error.responseText.split("Exception:")[1].split('<br>')[0]; //extract the message from args
alert(errorMessage);
}
function toolbarClick(args) {
var gridObj = document.getElementById("Grid").ej2_instances[0];
if (args.item.id === 'Grid_excelexport') {
gridObj.serverExcelExport("@Url.Action("ExcelExport", "Orders")");
}
}
function dataBound(args) {
this.autoFitColumns();
}
function failure(args) {
var errorMessage = args.error[0].error.responseText.split("Exception:")[1].split('<br>')[0]; //extract the message from args
alert(errorMessage);
}
</script>
And here is my controller method
[HttpPost]
public ActionResult ExcelExport(string gridModel)
{
using (ExcelEngine excelEngine = new ExcelEngine())
{
IApplication application = excelEngine.Excel;
application.DefaultVersion = ExcelVersion.Excel2013;
IWorkbook workbook = application.Workbooks.Create(1);
IWorksheet worksheet = workbook.Worksheets[0];
worksheet.ImportDataTable(order, true, 1, 1, true);
//workbook.SaveAs("Excel.xlsx", HttpContext.ApplicationInstance.Response, ExcelDownloadType.Open);
MemoryStream excelOrder = new MemoryStream();
workbook.SaveAs(excelOrder);
try
{
CommerceFramework.Orders.SendExcelOrderToErp(excelOrder);
}catch(Exception ex)
{
throw new Exception(ex.Message); //Add custom exception message
}
return View();
}
}
Any help on this wolud be appreciated
Thank Y
|
@Html.EJS().Grid("Grid").AllowExcelExport().ActionFailure("failure").ToolbarClick("toolbarClick").AllowPaging().Toolbar(new List<string>
() { "ExcelExport" }).DataBound("dataBound").Render() <script>
function failure(args) { //actionFailure event of Grid Console.log(args)
} </script> |