Немного его модифицировал, изменил кол-во данных для вывода на отчет.
При размере массива данных 5000 отчет отображается, при 10000 не отображается.
Может есть настройка, чтобы большие данные тоже отображались?
Модифицированный код:
Код: Выделить всё
<StiBlazorViewer Report="@report" />
@code
{
//Report object to use in viewer
private StiReport report;
protected override void OnInitialized()
{
base.OnInitialized();
//How to activate
//Stimulsoft.Base.StiLicense.Key = "6vJhGtLLLz2GNviWmUTrhSqnO...";
//Stimulsoft.Base.StiLicense.LoadFromFile("license.key");
//Stimulsoft.Base.StiLicense.LoadFromStream(stream);
//Init base font
StiFontCollection.AddFontFile("Fonts/Microsoft Sans Serif.ttf", "Segoe UI");
Random random = new Random();
string chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
int sizeArray = 10000;
nameArray = new string[sizeArray];
valueArray = new string[sizeArray];
for (int i = 0; i < sizeArray; i++)
{
nameArray[i] = new string(Enumerable.Repeat(chars, 10).Select(s => s[random.Next(s.Length)]).ToArray());
valueArray[i] = i.ToString();
}
//Create report object and load template
report = new StiReport();
report.Load("Reports/UserData.mrt");
//Create user data
var stiUserData1 = new Stimulsoft.Report.Dictionary.StiUserData();
stiUserData1.Columns.AddRange(new Stimulsoft.Report.Dictionary.StiDataColumn[] {
new Stimulsoft.Report.Dictionary.StiDataColumn("Name", "Name", "Name", typeof(string), null),
new Stimulsoft.Report.Dictionary.StiDataColumn("Value", "Value", "Value", typeof(string), null)});
stiUserData1.Count = sizeArray;
stiUserData1.GetData += new Stimulsoft.Report.Dictionary.StiUserGetDataEventHandler(stiUserData1_GetData);
//Register new data in the report template
report.RegData("UserData", stiUserData1);
}
//User data arrays
private string[] nameArray;// = new string[] { "Mahesh Chand", "Mike Gold", "Raj Beniwal", "Praveen Kumar", "Dinesh Beniwal" };
private string[] valueArray;// = new string[] { "00", "01", "02", "03", "04" };
private void stiUserData1_GetData(object sender, Stimulsoft.Report.Dictionary.StiUserGetDataEventArgs e)
{
if (e.ColumnName == "Name") e.Data = nameArray[e.Position];
if (e.ColumnName == "Value") e.Data = valueArray[e.Position];
}
}