دسته بندی ها
23:58 1401/04/20

ارسال همزمان چند DataTable به StimulSoft Report

مشخصات سوال کننده :
کاربر : Tarak4135     امتیاز کاربر : 56     رتبه کاربر : 17
دسته بندی : سی شارپ استيمول سافت

به این سوال امتیاز بدهید    0
تعداد بازدید این سوال : 4347
2 نظر
hamid_b : بنظرم بهتره اگر چند جدول دارید این جداول رو داخل خود StimulSoft به گزارش اضافه کنید نه اینکه از طریق پارامتر ارسال کنید به گزارش. در قسمت Data Source استیمول سافت شما میتونید جداولی که میخاید باهاش کار کنید رو اضافه کنید. ضمنا قابلیت نوشتن کوئری هم که تو خود استیمول سافت وجود داره.

امتیاز کاربر : 518   رتبه کاربر : 4   تاریخ ثبت : 09:30 1401/04/21
Tarak4135 : در گزارش استیمول سافت جداول ساخته شده است.

امتیاز کاربر : 56   رتبه کاربر : 17   تاریخ ثبت : 11:34 1401/04/21
هوش مصنوعی

پاسخ هوش مصنوعی

برای ارسال همزمان چند DataTable به StimulSoft Report و اطمینان از اینکه تمامی داده ها به درستی نمایش داده شوند، شما باید از یک روش مناسب برای مدیریت داده ها در گزارش استفاده کنید. در StimulSoft، باید نام مستعار (Alias) برای هر DataTable تنظیم کنید تا آنها به طور مستقل از هم شناسایی شوند.

در ادامه، چگونگی اضافه کردن DataTable ها با نام مستعار را نشان می دهم:

StiReport report = new StiReport();
string fileReport = "Report\\ReportTest.mrt";
string myfile = System.AppDomain.CurrentDomain.BaseDirectory + fileReport;
report.Load(myfile);
report.Compile();

// ثبت DataTable ها با نام مستعار
report.RegData("dtPart", dtPart);
report.RegData("dtDelay", dtDelay);
report.RegData("dtDesc", dtDesc);

report.Show();

با اجرای این کد، همه DataTable ها به گزارش اضافه خواهند شد و شما می توانید در طراحی گزارش از نام های مستعار استفاده کنید تا داده های مربوط به هر DataTable را جداگانه نمایش دهید.

لطفاً دقت نمایید که در طراحی گزارش شما، کنترل های جداگانه ای برای نمایش داده های مربوط به هر DataTable وجود داشته باشد تا اطلاعات به درستی نمایش یابند.

به این پاسخ امتیاز بدهید    0
امتیاز: - رتبه: -
پاسخ دهنده : fateme 14:32 1401/04/21

امکان ارسال چند DataTable به این روشی که شما نوشتید وجود نداره. لینک زیر رو مطالعه کنید 2...3 روش برای این کار گفته شده.

How Send a Dataset With 2 DataTable to Stimulsoft Report

به این پاسخ امتیاز بدهید    0
امتیاز: 1635 رتبه: 2
پاسخ دهنده : Tarak4135 23:38 1401/04/23

سلام. این موردی که در لینک ارسالی فرستادید قبلا تست کردم اما باز هم داده ای به گزارش ارسال نمی شود و گزارش بدون داده نمایش داده میشود.

 

در لینک زیر نمونه برنامه رو قرار دادم.ممنون میشم کد ها رو یک بررسی کنید

لینک نمونه برنامه

به این پاسخ امتیاز بدهید    0
امتیاز: 56 رتبه: 17
پاسخ دهنده : Tarak4135 17:09 1401/04/28

سلام.یک روش واسه انتقال چند دیتاتیبل پیدا کردم که گفتم در اینجا بیان کنم.

بعد از مقدار دهی به دیتاتیبل ها باید آنها را در یک دیتاست لود کنیم.

DataSet ds = new DataSet();            
datatable1.TableName = "datatable1";
datatable2.TableName = "datatable2";
datatable3TableName = "datatable3";
ds.Tables.Add(datatable1);
ds.Tables.Add(datatable2);
ds.Tables.Add(datatable3);

بعد از آن باید دیتاست رو به یک فایل xml منتقل کنیم.

ds.WriteXml("Report\\Report.xml");

دراینجا مقادیر موجود در دیتاتیبل ها در یک فایل xml نوشته شد.

در اینجا برنامه را یک بار اجرا کرده تا فایل xml ایجاد شود.

حالا باید فایل گزارش در استیمول سافت را طراحی کنیم.

یک فایل جدید در برنامه استیمول سافت دیزاینر باز کرده و به تعداد هر جدول یک subReport به جدول اضافه میکنیم.

در مرحله بعد باید جداول ها را در استیمول سافت اضافه کنیم.

برای اینکار باید از فایل xml را درون استیمول سافت اضافه کنیم.

برای اینکار از قسمت data source  گزینه new data source را انتخاب و  روی xml کلیک میکنیم.

از پنجره باز شده باید فایل xml مورد نظر را انتخاب کنیم و OK را میزنیم.

و سپس از پنجره باز شده جداول مورد نظر را انتخاب میکنیم و OK را میزنیم

در اینجا حداول مربوط به برنامه اضافه شده و میتوان هر کدام را در subreport  مورنظر قرار دهیم

حال می توانید برنامه را اجرا و گزارشگیری نمایید.

به این پاسخ امتیاز بدهید    1
امتیاز: 56 رتبه: 17
برای ارسال پاسخ لطفا وارد حساب کاربری خود شوید.   ورود