سلام
من از طریق برنامه و به وسیله یک DataTable اطلاعاتم رو به FastReport.Net ارسال میکنم (با استفاده از RegisterData)
منتها هنگام نمایش فقط سطر اول رو نمایش میده
چطور میتونم رفع کنم این ایراد رو
متشکر و ممنون از دوستانی که راهنمایی می فرمایند
سلام
من از طریق برنامه و به وسیله یک DataTable اطلاعاتم رو به FastReport.Net ارسال میکنم (با استفاده از RegisterData)
منتها هنگام نمایش فقط سطر اول رو نمایش میده
چطور میتونم رفع کنم این ایراد رو
متشکر و ممنون از دوستانی که راهنمایی می فرمایند
برای اینکه اطلاعاتتون تکرار بشه توی فست ریپورت باید فیلداها رو روی DataBand قرار بدید. شما حتما از DataBand استفاده نکردید
خوب این که مشخصه برای تکرار ردیف ها باید در DataBand قرار بگیره
و من هم طبعا این کار رو انجام دادم
ولی فقط سطر اول رو نشون میده
در مود Design
photo_2018-07-18_15-13-42.jpg
و هنگام اجرا
photo_2018-07-18_15-13-44.jpg
مطمئن هستید که دیتاتیبل اطلاعات داره
یک بریک پوینت قبل از ارسال اطلاعات به فست ریپورت قرار بدید و تعداد رکوردها داخل دیتاتیبل رو چک کنید
بله خوب مقدار داره و بیش از یک ردیف مقدار داره
ولی فقط یک ردیف اول رو نشون میده
مشکل به شکل زیر حل شد :
در سی شارپ کد زیر رو باید نوشت :
FastReport.Report report = new FastReport.Report();
report.Load(RepAddress);
DataView DVW = new DataView(dtRep);
report.RegisterData(DVW, "DataSetMain");
report.GetDataSource("DataSetMain").Enabled = true;
قابل ذکر است dtrep یک datatable می باشد که حاوی اطلاعات ما است
سپس در Fast Report هم به شکل معمول یک Text Box در DataBand قرار میدیم و مقدار Text اون رو به ترتیب زیر به یک فیلد مقدار دهی میکنیم :
[DataSetMain.No]
و همچنین در رویداد _StartReport قطعه کد زیر رو باید نوشت :
DataSourceBase data = Report.Dictionary.Report.GetDataSource("DataSetMai n");
MainData.DataSource = data;
بدین شکل مشکل به صورت کامل حل میشه و شما یک گزارش ساختید بدون اینکه حتی یک دیتا ست داخل خود گزارش تعریف کنید و تمام مقادیر از برنامه به گزارش پاس داده میشه