Skip to main content
All docs
V24.2

DevExpress v24.2 Update — Your Feedback Matters

Our What's New in v24.2 webpage includes product-specific surveys. Your response to our survey questions will help us measure product satisfaction for features released in this major update and help us refine our plans for our next major release.

Take the survey Not interested

IReportDesignerModelBuilder.BuildJsonModel() Method

Builds a View Model for a Report Designer component and serializes the model to JSON.

Namespace: DevExpress.XtraReports.Web.ReportDesigner.Services

Assembly: DevExpress.XtraReports.v24.2.Web.dll

NuGet Package: DevExpress.Web.Reporting.Common

#Declaration

string BuildJsonModel()

#Returns

Type Description
String

A string that is the JSON-serialized model.

#Remarks

The following code example is a controller that builds and returns the client-side model to an Angular client app:

[ApiController]
[Authorize]
[Route("api/[controller]")]
public class ReportDesignerSetupController : ControllerBase {
    [HttpPost("[action]")]
    public object GetReportDesignerModel([FromForm] string reportUrl,
        [FromServices] IReportDesignerModelBuilder reportDesignerModel,
        [FromServices] IReportDesignerClientSideModelGenerator modelGenerator) {
        Dictionary<string, object> dataSources = new Dictionary<string, object>();
        //Fill a data source set if needed
        reportDesignerModel
            .Report(reportUrl)
            .DataSources(dataSources)
            .DesignerUri("/DXXRDAngular")
            .ViewerUri("/DXXRDVAngular")
            .QueryBuilderUri("/DXXQBAngular")
            .BuildJsonModel();
        var model = reportDesignerModel.BuildModel();
        var modelJson = modelGenerator.GetJsonModelScript(model);
        return Content(modelJson, MediaTypeNames.Application.Json);
    }
}

View Example

See Also