بهتر بود کد مورد نظر را پیوست میکردید تا پاسخ دقیق تری دریافت میکردید . اگر تعداد صفحات گزارش بسیار زیاد است و شما نیاز دارید شرط ها را بر اساس انتخاب کاربر تعیین کنید، می توانید از یک ساختار تکراری مانند حلقه `for` استفاده کنید. در هر مرحله از حلقه، شرط را بررسی کنید و فیلدها را به گزارش اضافه کنید. بعنوان مثال :
using Stimulsoft.Report;
using Stimulsoft.Report.Dictionary;
// ایجاد شیء گزارش
StiReport report = new StiReport();
// بارگیری قالب گزارش از فایل
report.Load("Template.mrt");
// تعداد صفحات مورد نیاز برای گزارش
int pageCount = 10;
// حلقه تکرار برای ایجاد شرط ها بر اساس تعداد صفحات
for (int i = 0; i < pageCount; i++)
{
string fieldName = "Field" + (i + 1);
// بررسی انتخاب فیلد
if (checkBoxes[i].Checked)
{
report.Dictionary.Variables.Add(fieldName, typeof(string));
}
// ارسال مقدار فیلد به گزارش
report.Dictionary.Variables[fieldName].Value = fieldValues[i];
}
// نمایش گزارش
report.Show();
در این مثال، ابتدا تعداد صفحات مورد نیاز برای گزارش را تعیین کنید. سپس با استفاده از حلقه `for`، برای هر صفحه شرط را بررسی کنید و فیلدهای مورد نظر را به گزارش اضافه کنید. در این مثال، فرض بر این است که چک باکس ها مرتباً در یک آرایه `checkBoxes` قرار دارند و مقادیر فیلدها نیز در یک آرایه `fieldValues` قرار دارند.
لازم به ذکر است که باید قالب گزارش خود را با نام و مسیر صحیح جایگزین کنید و نحوه اجرای کوئری و پر کردن مقادیر فیلدها را بر اساس کتابخانه یا روشی که در برنامه خود استفاده می کنید، پیاده سازی کنید. همچنین، بر اساس نیاز خود، می توانید تعداد صفحات را به هر تعداد دلخواهی تغییر دهید.