| layout | post |
|---|---|
| title | webAPI reference for RelationalGrid |
| description | webAPI reference for RelationalGrid |
| documentation | ug |
| platform | js |
| keywords | RelationalGrid, syncfusion, RelationalGrid webapi |
[POST] /Api/RelationalGrid/Initialize
It fetches the data required to render the PivotGrid initially.
| Parameter | Description |
|---|---|
| action | It holds the current action name as string |
| customObject | It contains the custom object passed from client side |
Code: 200
Content-Type: application/json
Response: serialized JSON string
{% highlight c# %}
public Dictionary<string, object> Initialize(Dictionary<string, object> jsonResult) { htmlHelper.PivotReport = BindDefaultData(); return htmlHelper.GetJsonData(jsonResult["action"].ToString(), ProductSales.GetSalesData()); }
{% endhighlight %}
[POST] /Api/RelationalGrid/FetchMembers
It fetches the members of the selected field to render the member editor tree.
| Parameter | Description |
|---|---|
| action | It holds the current action name as string |
| headerTag | It contains the information about the dropped item |
| sortedHeaders | It contains the information about the sorting applied |
| currentReport | It contains the current report as compressed string |
Code: 200
Content-Type: application/json
Response: serialized JSON string
{% highlight c# %}
public Dictionary<string, object> FetchMembers(Dictionary<string, object> jsonResult) { htmlHelper.PopulateData(jsonResult["currentReport"].ToString()); return htmlHelper.GetJsonData(jsonResult["action"].ToString(), ProductSales.GetSalesData(), jsonResult["headerTag"].ToString(), jsonResult["sortedHeaders"].ToString()); }
{% endhighlight %}
[POST] /Api/RelationalGrid/Filtering
It fetches the data required to render the PivotGrid control on performing filtering action.
| Parameter | Description |
|---|---|
| action | It holds the current action name as string |
| filterParams | It contains the filter information applied to the hierarchy |
| sortedHeaders | It contains the information about the sorting applied |
| currentReport | It contains the current report as compressed string |
Code: 200
Content-Type: application/json
Response: serialized JSON string
{% highlight c# %}
public Dictionary<string, object> Filtering(Dictionary<string, object> jsonResult) { htmlHelper.PopulateData(jsonResult["currentReport"].ToString()); return htmlHelper.GetJsonData(jsonResult["action"].ToString(), ProductSales.GetSalesData(), jsonResult["filterParams"].ToString(), jsonResult["sortedHeaders"].ToString()); }
{% endhighlight %}
[POST] /Api/RelationalGrid/ModifyNodeState
It fetches the relational data required to render the PivotGrid control on selecting/unselecting nodes in Field list.
| Parameter | Description |
|---|---|
| action | It holds the current action name as string |
| headerTag | It contains the information about the dropped item |
| dropAxis | It contains the dropped axis |
| sortedHeaders | It contains the information about the sorting applied |
| filterParams | It contains the filter information applied to the hierarchy |
| currentReport | It contains the current report as compressed string |
Code: 200
Content-Type: application/json
Response: serialized JSON string
{% highlight c# %}
public Dictionary<string, object> ModifyNodeState(Dictionary<string, object> jsonResult) { htmlHelper.PopulateData(jsonResult["currentReport"].ToString()); return htmlHelper.GetJsonData(jsonResult["action"].ToString(), ProductSales.GetSalesData(), jsonResult["headerTag"].ToString(), jsonResult["dropAxis"].ToString(), jsonResult["filterParams"].ToString(), jsonResult["sortedHeaders"].ToString()); }
{% endhighlight %}
[POST] /Api/RelationalGrid/DropNode
It fetches the relational data required to render the PivotGrid control on node drop action.
| Parameter | Description |
|---|---|
| action | It holds the current action name as string |
| dropAxis | It tells the dropped axis |
| headerTag | It contains the information about the dropped item |
| sortedHeaders | It contains the information about the sorting applied |
| filterParams | It contains the filter information applied to the hierarchy |
| currentReport | It contains the current report as compressed string |
Code: 200
Content-Type: application/json
Response: serialized JSON string
{% highlight c# %}
public Dictionary<string, object> DropNode(Dictionary<string, object> jsonResult) { htmlHelper.PopulateData(jsonResult["currentReport"].ToString()); return htmlHelper.GetJsonData(jsonResult["action"].ToString(), ProductSales.GetSalesData(), jsonResult["dropAxis"].ToString(), jsonResult["headerTag"].ToString(), jsonResult.ContainsKey("filterParams") ? jsonResult["filterParams"].ToString() : null, jsonResult["sortedHeaders"].ToString()); }
{% endhighlight %}
[POST] /Api/RelationalGrid/Sorting
It fetches the sorted data to render the PivotGrid control on performing sorting.
| Parameter | Description |
|---|---|
| action | It holds the current action name as string |
| sortedHeaders | It contains the information about the sorting applied |
| currentReport | It contains the current report as compressed string |
Code: 200
Content-Type: application/json
Response: serialized JSON string
{% highlight c# %} public Dictionary<string, object> Sorting(Dictionary<string, object> jsonResult) { htmlHelper.PopulateData(jsonResult["currentReport"].ToString()); return htmlHelper.GetJsonData(jsonResult["action"].ToString(), ProductSales.GetSalesData(), jsonResult["sortedHeaders"].ToString()); }
{% endhighlight %}
[POST] /Api/RelationalGrid/CalculatedField
It forms a calculated field in values area and fetches the data along with it to render the PivotGrid control.
| Parameter | Description |
|---|---|
| action | It holds the current action name as string |
| headerTag | It contains the calculation parameters |
| currentReport | It contains the current report as compressed string |
Code: 200
Content-Type: application/json
Response: serialized JSON string
{% highlight c# %}
public Dictionary<string, object> CalculatedField(Dictionary<string, object> jsonResult) { htmlHelper.PopulateData(jsonResult["currentReport"].ToString()); return htmlHelper.GetJsonData(jsonResult["action"].ToString(), ProductSales.GetSalesData(), null, jsonResult["headerTag"].ToString()); }
{% endhighlight %}
[POST] /Api/RelationalGrid/Export
It is used to export the PivotGrid data to specified format.
| Parameter | Description |
|---|---|
| args | It contains the current report as serialized string |
Code: 200
Content-Type: application/json
Response: file
{% highlight c# %}
public void Export() { string args = HttpContext.Current.Request.Form.GetValues(0)[0]; Dictionary<string, string> gridParams = serializer.Deserialize<Dictionary<string, string>>(args); htmlHelper.PopulateData(gridParams["currentReport"]); string fileName = "Sample"; htmlHelper.ExportPivotGrid(ProductSales.GetSalesData(), args, fileName, System.Web.HttpContext.Current.Response); }
{% endhighlight %}
[POST] /Api/RelationalGrid/SaveReport
It saves the current report to database with the specified name.
| Parameter | Description |
|---|---|
| reportName | It holds the name with which the report to be saved |
| operationalMode | It contains the mode of operation of control whether from client side or server side |
| olapReport | It contains the current report as compressed string |
| clientReports | It contains the report collection as compressed string |
Code: 200
Content-Type: application/json
Response: None
{% highlight c# %}
public Dictionary<string, object> SaveReport(Dictionary<string, object> jsonResult) { string mode = jsonResult["operationalMode"].ToString(); bool isDuplicate = true; SqlCeConnection con = new SqlCeConnection() { ConnectionString = conStringforDB }; con.Open(); SqlCeCommand cmd1 = null; foreach (DataRow row in GetDataTable().Rows) { if ((row.ItemArray[0] as string).Equals(jsonResult["reportName"].ToString())) { isDuplicate = false; cmd1 = new SqlCeCommand("update ReportsTable set Report=@Reports where ReportName like @ReportName", con); } } if (isDuplicate) { cmd1 = new SqlCeCommand("insert into ReportsTable Values(@ReportName,@Reports)", con); } cmd1.Parameters.Add("@ReportName", jsonResult["reportName"].ToString()); if (mode == "serverMode") cmd1.Parameters.Add("@Reports", Syncfusion.JavaScript.Olap.Utils.GetReportStream(jsonResult["clientReports"].ToString()).ToArray()); else if (mode == "clientMode") cmd1.Parameters.Add("@Reports", Encoding.UTF8.GetBytes(jsonResult["clientReports"].ToString()).ToArray()); cmd1.ExecuteNonQuery(); con.Close(); return null; }
{% endhighlight %}
[POST] /Api/RelationalGrid/LoadReportFromDB
It loads a report from the database and refreshes the control with it.
| Parameter | Description |
|---|---|
| action | It holds the current action name as string |
| layout | It contains the layout of PivotGrid control |
| enablePivotFieldList | Boolean property tells whether the field list is enabled or not |
| customObject | It contains the custom object passed from client side |
| reportName | It holds the name of the report to be loaded |
| operationalMode | It contains the mode of operation of control whether from client side or server side |
| olapReport | It contains the current report as compressed string |
| clientReports | It contains the report collection as compressed string |
Code: 200
Content-Type: application/json
Response: serialized JSON string
{% highlight c# %}
public Dictionary<string, object> LoadReportFromDB(Dictionary<string, object> jsonResult) { byte[] reportString = new byte[2 * 1024]; PivotReport report = new PivotReport(); var reports = ""; string mode = jsonResult["operationalMode"].ToString(); Dictionary<string, object> dictionary = new Dictionary<string, object>(); foreach (DataRow row in GetDataTable().Rows) { if ((row.ItemArray[0] as string).Equals(jsonResult["reportName"].ToString())) { if (mode == "clientMode") { reportString = (row.ItemArray[1] as byte[]); dictionary.Add("report", Encoding.UTF8.GetString(reportString)); break; } else if (mode == "serverMode") { reports = Syncfusion.JavaScript.Olap.Utils.CompressData(row.ItemArray[1] as byte[]); report = htmlHelper.DeserializedReports(reports); htmlHelper.PivotReport = report; dictionary = htmlHelper.GetJsonData("loadOperation", ProductSales.GetSalesData(), "Load Report", jsonResult["reportName"].ToString()); break; } } } return dictionary; }
{% endhighlight %}
[POST] /Api/RelationalGrid/DeferUpdate
It fetches the data with respect to the report available at that instant (i.e) updates the control with current report.
| Parameter | Description |
|---|---|
| action | It holds the current action name as string |
| filterParams | It contains the filter information applied to the hierarchy |
| currentReport | It contains the current report as compressed string |
Code: 200
Content-Type: application/json
Response: serialized JSON string
{% highlight c# %}
public Dictionary<string, object> DeferUpdate(Dictionary<string, object> jsonResult) { htmlHelper.PopulateData(jsonResult["currentReport"].ToString()); return htmlHelper.GetJsonData(jsonResult["action"].ToString(), ProductSales.GetSalesData(), null, null, null, jsonResult["sortedHeaders"].ToString(), jsonResult["filterParams"].ToString()); }
{% endhighlight %}
[POST] /Api/RelationalGrid/CellEditing
It rewrites the content of database on editing a cell.
| Parameter | Description |
|---|---|
| action | It holds the current action name as string |
| index | It contains the position of the cell edited |
| valueHeaders | It contains the value information related to the edited cell |
| summaryValues | It contains the summaries associated with the selected cells |
| currentReport | It contains the current report as compressed string |
Code: 200
Content-Type: application/json
Response: serialized JSON string
{% highlight c# %}
public Dictionary<string, object> CellEditing(Dictionary<string, object> jsonResult) { htmlHelper.PopulateData(jsonResult["currentReport"].ToString()); return htmlHelper.GetJsonData(jsonResult["action"].ToString(), ProductSales.GetSalesData(), jsonResult["index"].ToString(), jsonResult["summaryValues"].ToString(), jsonResult["valueHeaders"].ToString()); }
{% endhighlight %}