PDA

View Full Version : چطوری جدول رو از طریق کد به Crystal report ارسال کنیم؟



hdv212
شنبه 19 اسفند 1385, 14:45 عصر
سلام
بچه ها من از طریق ویژوال مشکلی توی Bind کردن فیلدهای کریستال ریپورت به فیلدهای دیتاستم ندارم،همانطور که میدونید از طریق ویزارد این کار به راحتی انجام میشه..
مشکل من پاس کردن جدولی هست که از طریق کد میخوام به کریستال ریپورت بفرستم و فیلدهای جدول من با فیلدهایی که در کریستال ریپورت هست همخوانی نداره،مثلا فرض کنید من میخوام توی یه فرم کاربر بتونه تا 10 نوع گزارش رو در خواست کنه،خب من نمیتونم 10 تا دیتاست از طریق برنامم به فرم اضافه کنم و 10 تا فرم با کریستال ریپورت طراحی کنم و هرکدومو از طریق ویژوال به یکی بایند کنم،من میخوام یه فرم مرجع با تعداد فیلدهای معین توی Crystal Report بسازم و یه دیتاستم از طریق کد تو برنامم بسازم (نه از طریق ویژوال)،حالا کاربر هرجور خواست گزارش بگیره (با توجه به اینکه تعداد و نوع فیلدها در جدول دیتاستم با تعداد و نوع فیلدها در کریستال ریپورت یکی باشه)،فقط همین دیتاستم پر بشه و از طریق کد بتونم فیلدهای کریستال ریپورت رو به جدولی که تو دیتاستم هست Bind کنم،حالا اگه منظورمو درست بیان کرده باشم چطوری میتونم این کار رو یکنم و آیا راه دیگه ای هم هست ..
مرسی ..

hdv212
شنبه 19 اسفند 1385, 22:06 عصر
یعنی هیچکس تا حالا با کریستال ریپورت گزارش گیری نکرده ؟

reza_rad
یک شنبه 20 اسفند 1385, 13:08 عصر
شما می تونید تمام فیلد ها رو توی فرم ایجاد کنید و برای گزارشات مختلف بعضی از فیلدها رو نشون بدید یا بعضی رو نشون ندید.
ولی اینکه بخواهید بصورت کاملا داینامیک از داخل کد برنامه به فرم کریستال دیتاسرورس بایند کنید و هر بار گزارشی با فرمتی کاملا متفاوت(اون هم توسط فقط یک صفحه گزارشگیری) ایجاد کنید، خیر امکان پذیر نیست.

mostafaalizadeh
یک شنبه 27 اسفند 1385, 20:21 عصر
من برنامه نویسی کردم البته با VFP9

reza_rad
یک شنبه 27 اسفند 1385, 22:59 عصر
من برنامه نویسی کردم البته با VFP9

من با فاکس کار نکرده ام. ولی اینو می دونم که کریستال توی دات نت چنین امکانی رو به برنامه نویسان نمیده.
البته میشه برنامه نویسی کرد ولی نه در این سطح.
کارهایی مثل ست کردن فیلد ها و پارمتر ها و .... رو با کد نویسی میشه انجام داد که البته توی همین تالار مثالهای زیادی دراین رابطه هست. ولی اون طوری که دوستمون اینجا خواستند نمیشه.

ir_programmer
دوشنبه 28 اسفند 1385, 10:53 صبح
با تبرک نوروز!:لبخندساده:
خب از طریق فرمول نوشتن اینکار ساده میشه دیگه!
یک پارامتر هم بساز که انتخاب کنه کدوم گزارش رو اجرا میکنه و توی فرمول هات اون پارامتر رو چک کن و فیلد مورد نظر رو بزار.

skd6960357
سه شنبه 07 فروردین 1386, 11:05 صبح
سلام
شما یک Command در کریستال تعریف کن و درون آن یک Query پیش فرض بزار بعدش شکل گزارشتو بساز
بعد نتیجه Dataset (جدول با Query) را به گزارش پاس بده
جواب می گیری