View Full Version : ارتباط با دیتاگرید
کاربر کوشا
یک شنبه 29 فروردین 1389, 09:04 صبح
سلام
در جایی خوندم برای چاپ کردن اطلاعات دیتاگرید بوسیله کریستال باید اول یک فایل rpt بسازیم که فیلدهای اون مطابق ستونهای دیتاگرید باشه. سوال من از دوستان خوبم اینه که فیلدهای این گزارش باید از چه نوعی باشند؟ مثلا ازنوع پارامتر باشه، دیتابیس باشه،فرمول باشه یا ...؟
با توجه به اینکه لزوما اطلاعات داخل گرید از دیتابیس نیومدند و ممکنه داخل برنامه ساخته شده باشند و به هیچ فیلد بانک دیتابیس متصل نیستند و کلا یک گرید با اطلاعات متنوع رو میخواهیم بفرستیم به کریستال.
ممنون از راهنماییتون.
کاربر کوشا
یک شنبه 29 فروردین 1389, 12:00 عصر
دوستان اگه بتونند راهنماییم کنند خیلی ممنون میشم چون حقیقتش تو کریستال ریپورت مبتدی هستم و کارم با مشکل مواجه شده.
mn_zandy63
یک شنبه 29 فروردین 1389, 13:09 عصر
سلام دوست من،
من این راه ها میرسه به ذهنم:
1. وقتی که فیلد های گریدت با فیلد های جدولهای دیتابیس یکسان هست، یا تعدادی از همون فیلدهاست، میتونی مستقیم به دیتابیس وصل شی و فیلد ها رو داخل گزارش اضافه کنی، یا مثلا یک View بساز با همون ستون ها و همون نوع داده های گرید، از اون استفاده کن.
در هنگام اجرا، اگه مقادیر از داخل دیتابیست میاد که از همون View اصلا مستقیم بخون، اما اگه تغییراتی رو سمت کد داری میدی، میتونی با استفاده از SetDataSource اون دیتا رو بفرستی براش.
راه دیگه اینه که، بالاخره گریدت داره با یه DataSet یا DataTable پر میشه دیگه؟ اگه اینطوره،
2. یک بار برنامه رو اجرا کن، و دیتاست اون گرید رو با استفاده از تابع WriteXML بصورت XML ذخیره کن (فقط یک بار و بعد این دستور رو حذف کن) حالا میتونی این فایل XML رو به عنوان datasource بدی به کریستال (در قسمت Ado.NET).
3. اگه اصلا داری داخل ویژوال استودیو کار میکنی، و Typed DataSet داری استفاده میکنی که میتونی دیتاستت رو بدی به کریستال مشکلی هم نداری.
در کل ببین دوست من، شما نمیتونی فیلد های جدول رو (Database Fields) رو خودت دستی اضافه کنی، باید یه دیتاسورسی داشته باشی.
استفاده از فیلد ها و فرمول ها، فقط در شرایطی به دردت میخوره که فقط یک رکورد رو بخوای نمایش بدی، نه بیشتر از یک رکورد.
ممکنه راه حل های بهتری هم باشه که من در این لحظه به ذهنم نمیرسه،
اگه دوستان راه حل های بهتری به ذهنشون میرسه بگن.
موفق باشی
کاربر کوشا
دوشنبه 30 فروردین 1389, 01:28 صبح
ممنون از راهنمایی خوب شما، کارم با روش دوم (روش xml) راه افتاد.
پیروز باشید.
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.