PDA

View Full Version : به هم ریختگی استیمول



sini65
دوشنبه 30 مرداد 1402, 22:02 عصر
من یک برنامه دارم که با استیمول گزارش می گیرم مشکلم اینه که تعداد رکوردها زیاده و دریک صفحه استاندارد جا نمیگیره برنامه رو طوری نوشتم که امکان انتخاب فیلدها با چک باکس برای کاربر باشه مشکل اصلی اینجاست که وقتی مثلا کاربر فیلد سوم رو انتخاب میکنه اون سطر کلا خالی میمومنه و به فیلد دوم نمی چسبه و به هم میریزه

پرستو پارسایی
سه شنبه 31 مرداد 1402, 09:23 صبح
بهتر بود کد مورد نظر را پیوست میکردید تا پاسخ دقیق تری دریافت میکردید . اگر تعداد صفحات گزارش بسیار زیاد است و شما نیاز دارید شرط ها را بر اساس انتخاب کاربر تعیین کنید، می توانید از یک ساختار تکراری مانند حلقه `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` قرار دارند.
لازم به ذکر است که باید قالب گزارش خود را با نام و مسیر صحیح جایگزین کنید و نحوه اجرای کوئری و پر کردن مقادیر فیلدها را بر اساس کتابخانه یا روشی که در برنامه خود استفاده می کنید، پیاده سازی کنید. همچنین، بر اساس نیاز خود، می توانید تعداد صفحات را به هر تعداد دلخواهی تغییر دهید.

abdullah20
سه شنبه 31 مرداد 1402, 10:34 صبح
با درود
منظور شما از سطر ستون است
شما باید گزارشتون را به صورت پویا(گزارش گیری پویا) طراحی کنید تا کاربر بتونه ستون مورد نظر را انتخاب کند

sini65
سه شنبه 31 مرداد 1402, 21:02 عصر
این کار رو کردم مشکلم اینه وقتی مثلا فیلد اول و چهارم رو انتخاب میکنه برای نمایش ستون فیلد چهارم به فیلد اول نمیچسبه و با فاصله نمایش داده می شود

mr.sirwan
پنج شنبه 02 شهریور 1402, 12:54 عصر
این کار رو کردم مشکلم اینه وقتی مثلا فیلد اول و چهارم رو انتخاب میکنه برای نمایش ستون فیلد چهارم به فیلد اول نمیچسبه و با فاصله نمایش داده می شود

پراپرتی Dock Style تمامی فیلدهاتو برابر با Fill قرار بده مشکل حل میشه

sini65
جمعه 03 شهریور 1402, 00:12 صبح
[QUOTE=mr.sirwan;2460746]پراپرتی Dock Style تمامی فیلدهاتو برابر با Fill قرار بده مشکل حل میشه[/
نمیشه که

mr.sirwan
جمعه 03 شهریور 1402, 01:30 صبح
[QUOTE=mr.sirwan;2460746]پراپرتی Dock Style تمامی فیلدهاتو برابر با Fill قرار بده مشکل حل میشه[/
نمیشه که

یعنی چی نمیشه؟ فیلدهای داخل گزارشت رو میگم، منظورم تکست باکسای جدولته که عنوان ستون ها و مقادیر رو نمایش میدن

sini65
جمعه 03 شهریور 1402, 12:03 عصر
[QUOTE=sini65;2460751]

یعنی چی نمیشه؟ فیلدهای داخل گزارشت رو میگم، منظورم تکست باکسای جدولته که عنوان ستون ها و مقادیر رو نمایش میدن

وقتی این کار رو میکنم تکست باکس بزرگ میشه وکل صفحه رو میگیره و بعد از نمایش فقط تکست باکس اول که نمایش داده میشه چون کل صفحه رو گرفته

mr.sirwan
شنبه 04 شهریور 1402, 11:47 صبح
[QUOTE=mr.sirwan;2460752]

وقتی این کار رو میکنم تکست باکس بزرگ میشه وکل صفحه رو میگیره و بعد از نمایش فقط تکست باکس اول که نمایش داده میشه چون کل صفحه رو گرفته

با کلیک راست و دو تا گزینه BringToFront و SendToBack باید این مشکل رو حل کنی، دیگه قشنگ باید دونه دونه تکست باکس هارو کلیک راست کنی و یکی از این گزینه هارو بزنی تا زمانی که همه تکست باکس ها چینششون درست بشه یعنی پهلو به پهلو و کنار هم نمایش داده بشن، غیر از این روشی که گفتم راه دیگه ای وجود نداره

sini65
شنبه 04 شهریور 1402, 21:57 عصر
[QUOTE=sini65;2460756]

با کلیک راست و دو تا گزینه BringToFront و SendToBack باید این مشکل رو حل کنی، دیگه قشنگ باید دونه دونه تکست باکس هارو کلیک راست کنی و یکی از این گزینه هارو بزنی تا زمانی که همه تکست باکس ها چینششون درست بشه یعنی پهلو به پهلو و کنار هم نمایش داده بشن، غیر از این روشی که گفتم راه دیگه ای وجود نداره
ابن کار رو کردم نشد

mr.sirwan
یک شنبه 05 شهریور 1402, 00:14 صبح
[QUOTE=mr.sirwan;2460769]
ابن کار رو کردم نشد

نمیدونم شما چیکار کردی، ولی من همین روشو رفتم و گزارشامو ساختم مشکلیم ندارم

sini65
یک شنبه 05 شهریور 1402, 22:54 عصر
[QUOTE=sini65;2460782]

نمیدونم شما چیکار کردی، ولی من همین روشو رفتم و گزارشامو ساختم مشکلیم ندارم

من قبل از لود برنامه تکست باکس انتخاب کردم و گفتم مثلا فیلد اول و چهارم نمایش داده بشه وقتی میزنم فیلد چهارم کنار فیلد اول قرار نمیگیره و سرجای خودش هست و فضای بینشون خالیه