This example shows how to connect to data from code. First, load scripts:
@using Stimulsoft.Base
@using Stimulsoft.Report
@using Stimulsoft.Report.Blazor

Next, add buttons:
<div align="center">
    <button class="alert" @onclick="SetFirstDataSet">First dataset</button>
    <button class="alert" @onclick="SetSecondDataSet">Second dataset</button>
</div>
<br />

Then, add report viewer:
<StiBlazorViewer Report="@Report" />

After that, create empty report object and load report template:
@code
{
    private StiReport Report;

	protected override async Task OnInitializedAsync()
	{
		await base.OnInitializedAsync();

		//Create empty report object
		this.Report = new StiReport();

		//Load report template
		var reportBytes = await Http.GetByteArrayAsync("Reports/Report.mrt");
		this.Report.Load(reportBytes);
	}

...

Next, set first dataset:
...

	private void SetFirstDataSet()
    {
		//Get a copy of the report into a new report object
		var report = this.Report.Clone() as StiReport;
		
        //Delete connections in the report template
        report.Dictionary.Databases.Clear();

        //Load new data from XML file
        var data = new System.Data.DataSet();
        var dataStream = await Http.GetStreamAsync("Data/Demo1.xml");
        data.ReadXml(dataStream);

        //Register new data in the report template
        report.RegData(data);

        //Synchronize the dictionary with registered data
        //Not necessary if the structure of the loaded data is the same as in the template
        report.Dictionary.Synchronize();

        //Re-render report
        report.Render();
		
		//Assign new report to the Viewer
		this.Report = report;
		
		//Refresh razor page view
        StateHasChanged();
    }
	
...

Then, set second dataset:
...

	private void SetSecondDataSet()
    {
        //Get a copy of the report into a new report object
		var report = this.Report.Clone() as StiReport;
		
		//Delete connections in the report template
        report.Dictionary.Databases.Clear();

        //Load new data from XML file
        var data = new System.Data.DataSet();
        var dataStream = await Http.GetStreamAsync("Data/Demo2.xml");
        data.ReadXml(dataStream);

        //Register new data in the report
        report.RegData(data);

        //Synchronize the dictionary with registered data
        //Not necessary if the structure of the loaded data is the same as in the template
        report.Dictionary.Synchronize();

        //Re-render report
        report.Render();
		
		//Assign new report to the Viewer
		this.Report = report;
		
        //Refresh razor page view
        StateHasChanged();
    }
}

На скриншоте ниже Вы можете увидеть результат выполнения данного кода:

Connecting to Data from Code

Используя этот сайт, вы соглашаетесь на использование файлов Cookie для аналитики и персонализированного контента. Файлы Cookie хранят полезную информацию на вашем компьютере, чтобы помочь нам повысить эффективность и удобство использования. Для получения дополнительной информации, пожалуйста, прочтите Конфиденциальность и Использование Cookie.