ارسال همزمان چند DataTable به StimulSoft Report
برای ارسال چند Datatable به StimulSoft Report باید چیکار کرد.
در یک برنامه سه تا Datatable دارم
//دیتاتیبل 1
DataTable dtPart= new DataTable();
dtPart.Columns.Add("PartsNumber");
dtPart.Columns.Add("PartName");
//دیتاتیبل 2
DataTable dtDelay= new DataTable();
dtDelay.Columns.Add("DelayName");
dtDelay.Columns.Add("NoteDelay");
dtDelay.Columns.Add("DurationDelay");
//دیتاتیبل 3
DataTable dtDesc= new DataTable();
dtDesc.Columns.Add("DescWork");
dtDesc.Columns.Add("SystemName");
dtDesc.Columns.Add("DateRepair");
dtDesc.Columns.Add("durationRepair");
که پس از مقدار دهی به این جداول جهت ارسال به StimulSoft از دستورات زیر استفاده میکنم
StiReport report = new StiReport();
string fileReport = "Report\\ReportTest.mrt";
string myfile = System.AppDomain.CurrentDomain.BaseDirectory + fileReport;
report.Load(myfile);
report.Compile();
report.RegData(dtDelay);
report.RegData(dtDesc);
report.RegData(dtPart);
report.Show();
اما در گزارش فقط داده های جدول dtPart نمایش داده میشود و اگر دستورات آخر را به صورت زیر قرار دهیم فقط اطلاعات جدول dtDesc نمایش داده می شود
report.RegData(dtDelay);
report.RegData(dtPart);
report.RegData(dtDesc);
report.Show();
و به همین ترتیب اگر دستور report.RegData(dtDelay) را قبل از report.Show قرار دهیم اطلاعات جدول dtDelay به گزارش ارسال میشود.
جهت رفع این ایراد باید چکار کرد.
در ضمن برنامه ویندوزی می باشد.
امکان ارسال چند DataTable به این روشی که شما نوشتید وجود نداره. لینک زیر رو مطالعه کنید 2...3 روش برای این کار گفته شده.
سلام. این موردی که در لینک ارسالی فرستادید قبلا تست کردم اما باز هم داده ای به گزارش ارسال نمی شود و گزارش بدون داده نمایش داده میشود.
در لینک زیر نمونه برنامه رو قرار دادم.ممنون میشم کد ها رو یک بررسی کنید
سلام.یک روش واسه انتقال چند دیتاتیبل پیدا کردم که گفتم در اینجا بیان کنم.
بعد از مقدار دهی به دیتاتیبل ها باید آنها را در یک دیتاست لود کنیم.
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 مورنظر قرار دهیم
حال می توانید برنامه را اجرا و گزارشگیری نمایید.
- آموزش استفاده از SignalR در Asp.net Core با مثال عملی
- ادغام چند گزارش استیمول سافت بصورت پی دی اف در یک فایل
- نحوه تغییر استایل کامپوننت select2 چگونه است ؟
- چگونه امنیت پروژه را در Asp.net Core افزایش دهیم ؟
- ارسال پارامتر در دستور window.open جی کویری
- ارسال پارامتر از طریق جاوااسکریپت با کلیک روی تگ a
- خطای 500 زمان اجرا شدن پروژه روی هاست
- کویری نویسی در استیمول سافت جهت فیلتر اطلاعات
- نمایش صفحه در پنجره جدید با کلیک روی لینک (تگ a) در Asp
- افزودن مقادیر به صورت دستی به List دریافت شده از ریپازیتوری
- مشکل تاریخ شمسی در سی شارپ
- نمایش گزارش stimulsoft روی کلاینت
- تفاوت های سی شارپ 8 با نسخه های قبلی چیه؟
- انتخاب چند سطر دلخواه توسط چک باکس در DataGrid و محاسبه جمع سطرهای انتخاب شده
- نمایش نوتیفکیشن در سی شارپ
- ارسال پارامتر از سی شارپ به استیمول سافت
- عدم نمایش عکس در دیتاگرید ویو در wpf
- Library Animation برای کنترلهای WPF
- مشکل در تغییر مقدار Text کنترل RibbonBar در کامپوننت DevExpress
- قرار دادن مقادیر ارسالی یک ستون از جدول به صورت سطری در استیمول