- Server side events
- OnServerCellSave
- OnServerExcelExporting
- OnServerCsvExporting
- OnServerPdfExporting
Contact Support
Server side events
This section explains in detail about the server-side events available in the ASP Spreadsheet control and the arguments that are obtained server-side.
The sender parameter of all the server-side events returns the spreadsheet model details.
The various server-side events and the arguments corresponding to the events are as follows:
OnServerCellSave
The OnServerCellSave event is triggered upon saving the cell in the spreadsheet control. The details of the cell can be obtained server-side, as explained in the following table.
Name | Type | Description | ||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
argument | object | Arguments when cellSave event is triggered.
|
<ej:Spreadsheet ID="Spreadsheet" OnServerCellSave="Spreadsheet_ServerCellSave" runat="server">
</ej:Spreadsheet>
public partial class ServerSaveEvent : System.Web.UI.Page
{
private List<Orders> order = new List<Orders>();
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
BindDataSource();
ViewState["DataSource"] = order;
}
}
private void BindDataSource()
{
int code = 10000;
for (int i = 1; i <= 20; i++)
{
order.Add(new Orders(code + 1, "TOMSP", i + 0, "Münster", "Toms Spezialitäten", "Germany"));
order.Add(new Orders(code + 2, "HANAR", i + 2, "Rio de Janeiro", "Hanari Carnes", "Brazil"));
order.Add(new Orders(code + 3, "VICTE", i + 1, "Lyon", "Victuailles en stock", "France"));
order.Add(new Orders(code + 4, "VINET", i + 3, "Reims", "Vins et alcools Chevalier", "France"));
order.Add(new Orders(code + 5, "SUPRD", i + 4, "Charleroi", "Suprêmes délices", "Belgium"));
code += 5;
}
this.Spreadsheet.Sheets[0].RangeSetting[0].Datasource = order;
}
[Serializable]
public class Orders
{
public Orders()
{
}
public Orders(long OrderId, string CustomerId, int EmployeeId, string ShipCity, string ShipName, string ShipCountry)
{
this.OrderID = OrderId.ToString();
this.CustomerID = CustomerId;
this.EmployeeID = EmployeeId.ToString();
this.ShipName = ShipName;
this.ShipCity = ShipCity;
this.ShipCountry = ShipCountry;
}
public string OrderID { get; set; }
public string CustomerID { get; set; }
public string EmployeeID { get; set; }
public string ShipCity { get; set; }
public string ShipName { get; set; }
public string ShipCountry { get; set; }
}
protected void Spreadsheet_ServerCellSave(object sender, SpreadsheetEventArgs e)
{
List<Orders> data = ViewState["DataSource"] as List<Orders>;
Dictionary<string, object> KeyVal = e.Arguments as Dictionary<string, object>;
var rowIdx = Convert.ToInt32(KeyVal["rowIndex"]);
if (e.EventType == "cellSave" && rowIdx < data.Count)
{
Orders record = data[rowIdx];
var colIdx = Convert.ToInt32(KeyVal["colIndex"]);
if (colIdx < record.GetType().GetProperties().Length)
{
var value = KeyVal["value"];
string colName = record.GetType().GetProperties()[Convert.ToInt32(KeyVal["colIndex"])].Name;
if (colName == "OrderID")
record.OrderID = Convert.ToString(value);
else if (colName == "CustomerID")
record.CustomerID = Convert.ToString(value);
else if (colName == "EmployeeID")
record.EmployeeID = Convert.ToString(value);
else if (colName == "ShipCity")
record.ShipCity = Convert.ToString(value);
else if (colName == "ShipCountry")
record.ShipCountry = Convert.ToString(value);
else if (colName == "ShipName")
record.ShipName = Convert.ToString(value);
}
}
ViewState["DataSource"] = data;
this.Spreadsheet.Sheets[0].RangeSetting[0].Datasource = data;
serverEvent.InnerHtml = serverEvent.InnerHtml + span + "cell Save</span> event called</span><hr>";
}
}
}
OnServerExcelExporting
The OnServerExcelExporting event is triggered when a request to export the Spreadsheet to excel document. The spreadsheet model details can be obtained server-side, as explained in the following table.
Name | Type | Description | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
argument | object | Arguments when excel export event is triggered.
|
<ej:Spreadsheet ID="Spreadsheet" OnServerExcelExporting="Spreadsheet_ServerExcelExporting" runat="server">
</ej:Spreadsheet>
protected void Spreadsheet_ServerExcelExporting(object sender, Syncfusion.JavaScript.Web.SpreadsheetEventArgs e)
{
var args = e.Arguments;
string password = args["password"].ToString();
string sheetModel = args["sheetModel"].ToString();
string sheetData = args["sheetData"].ToString();
if (!string.IsNullOrEmpty(password))
Spreadsheet.Save(sheetModel, sheetData, "sample", ExportFormat.XLSX, ExcelVersion.Excel2013, password);
else
Spreadsheet.Save(sheetModel, sheetData, "sample", ExportFormat.XLSX, ExcelVersion.Excel2013);
}
OnServerCsvExporting
The OnServerCsvExporting event is triggered when a request to export the Spreadsheet to csv document. The spreadsheet model details can be obtained server-side, as explained in the following table.
Name | Type | Description | |||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
argument | object | Arguments when csv export event is triggered.
|
<ej:Spreadsheet ID="Spreadsheet" OnServerCsvExporting="Spreadsheet_ServerCsvExporting" runat="server">
</ej:Spreadsheet>
protected void Spreadsheet_ServerCsvExporting(object sender, Syncfusion.JavaScript.Web.SpreadsheetEventArgs e)
{
var args = e.Arguments;
Spreadsheet.Save(args["sheetModel"].ToString(), args["sheetData"].ToString(), "sample", ExportFormat.CSV);
}
OnServerPdfExporting
The OnServerPdfExporting event is triggered when a request to export the Spreadsheet to pdf document. The spreadsheet model details can be obtained server-side, as explained in the following table.
Name | Type | Description | |||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
argument | object | Arguments when pdf export event is triggered.
|
<ej:Spreadsheet ID="Spreadsheet" OnServerPdfExporting="Spreadsheet_ServerPdfExporting" runat="server">
</ej:Spreadsheet>
protected void Spreadsheet_ServerPdfExporting(object sender, Syncfusion.JavaScript.Web.SpreadsheetEventArgs e)
{
var args = e.Arguments;
Spreadsheet.Save(args["sheetModel"].ToString(), args["sheetData"].ToString(), "sample", ExportFormat.PDF);
}