PDA

View Full Version : طریقه لود گزارش در سی شارپ



hamidtmu
جمعه 15 بهمن 1400, 13:31 عصر
با سلام/.من یه کد گزارش نوشتم که اطلاعات یک گرید ویو را به اسانی انجام میده ولی وقتی می خوام کد استیمول را داخل خود برنامه بزارم طریقه فراخوانیش نمیدونم به چه صورته قسمت اول کار می کنه ولی قسمت دوم کار نمیکنه

private void button3_Click(object sender, EventArgs e) {
StiReport report = new StiReport();
report.Load(Application.StartupPath + "\\RHosh.mrt");
report.RegBusinessObject("hosh", dt);
report.Show();
}


private void button1_Click_1(object sender, EventArgs e)
{
Report3 _Report3 = new Report3();
_Report3.Show();
}

153679

کد استیمول را داخل نرم افزار قرار دادم ولی فراخوانی که می کنم گزارش را نشون نمیده ولی وقتی کد را نزاشتم و فراخوانی می کنم نشون میده. خواستم با توجه به کدی که من دارم و اطلاعات گریدیو را میفرستم برای ریپورت یک فراخوانی صحیح بهم بگید. سپاس از همگی اساتید
البته در تایپیک های قبلی گشتم و یک راهکار هم دادن ولی متناسب با کار من نیست و جواب نداد
https://barnamenevis.org/showthread.php?540680-%D8%B1%D8%A7%D9%87%DA%A9%D8%A7%D8%B1-%D8%A7%D9%86%D8%AA%D9%82%D8%A7%D9%84-%DA%AF%D8%B2%D8%A7%D8%B1%D8%B4%D8%A7%D8%AA-stimulsoft-reports-%D8%A8%D9%87-%D8%B3%DB%8C%D8%B3%D8%AA%D9%85%D9%87%D8%A7%DB%8C-%D9%85%D9%82%D8%B5%D8%AF

shahryari
شنبه 16 بهمن 1400, 16:45 عصر
سلام
خب شما باید در قسمت دوم ، گزارش رو لود بکنی و بعد رندرش کنی و بعد نمایشش بدی
اینجوری نمیشه که ، داخل کلاس report3 چی هست؟ کدهاشو بزار بررسی بشه

hamidtmu
یک شنبه 17 بهمن 1400, 00:05 صبح
سلام و ممنون از پاسخ گویی شما
من طبق تایپک که لیکشو در بالا گزاشتم گزارش استیمول را به صورت cs ذخیر کردم و وارد سی شارپ کردم
"میتونید گزارش رو در Designer باز کنید و ازش save as بگیرید و نوع فایل رو
.cs
انتخاب کنید. بعد این فایل رو به پروژه اضافه و از کلاسش نمونه بسازید و گزارش رو نمایش بدید. در اینصورت نیازی نیست فایلهای
.mrt
همراه فایل اجرایی باشند."
اما طریقه فراخوانی که در همین تایپیک گفته شده برای من کار نمیکنه/ چون اطلاعات من در یک دیتا گرید ویو و یا جدول هستند که به صورت زیر الان از آنها گزارش می گیرم / ولی من می خوام همین مدل گزارشو به صورت کلاس فراخوانی کنم/

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


private void button3_Click(object sender, EventArgs e) {
StiReport report = new StiReport();
report.Load(Application.StartupPath + "\\RHosh.mrt");
report.RegBusinessObject("hosh", dt);
report.Show();
}

کد فوق را در نظر بگیرید باید فقط فراخوانی اون کلاس را انجام بدم.
در اون کلاس هم خروجی هست که خود استیمول به من داده و من چیزی دستی اضافه نکردم یعنی اومد گزارشمو با پسوند cs خروجی گرفتم.
اگر صحبتام گنگ بود کافیه فقط به این سوال توجه کنید که به چه صورت گزارش استیمول را داخل متن برنامه سی شارپ قرار بدیم(که در جوابش من از تایپیک قبلی استفاده کردم و ذحیره cs کردم و در سی شارپ قرار دادم/ اگر کارم هم اشتباست تصحیح بفرمایید)

شما فرمودید"گزارش رو لود بکنی و بعد رندرش کنی و بعد نمایشش بدی"به چه صورت این کار انجام شود؟

Mahmoud.Afrad
دوشنبه 18 بهمن 1400, 20:17 عصر
اگر دو تا گزارش یکی هستند ، خب میبایست یکسان عمل کنید. توی کد دوم دیتا رو انتقال ندادید.
و اینکه آیا گزارش دوم اصلا نمایش داده میشه یا نه؟