ورود

View Full Version : گزارشات چند صفحه ای



shima2006
یک شنبه 08 شهریور 1388, 09:49 صبح
سلام دوستان
همونطور که شما دوستان هم حتما دیدید بالای صفحات گزارش کریستال ریپورت دو تا علامت برای رفتن به صفحه قبلی و بعدی وجود داره ، من یک گزارش دارم که چندین رکورد رو برمی گردونه ولی من تو کریستال ریپورت فقط می تونم اولین رکورد رو ببینم و قسمتی که مربوط به رفتن صفحه بعدی و قبلی میشه غیر فعاله ....
چطور می تونم این دکمه ها رو فعال کنم و بقیه صفحات گزارش رو ببینم؟

mn_zandy63
سه شنبه 10 شهریور 1388, 00:57 صبح
دو حالت داره، ممکنه فیلدهات رو داخل header یا footer یا هرجای دیگه ای به جز قسمت Details گذاشته باشی.
یا اینکه اصلا query ت فقط یک رکورد برگردونه :چشمک:

این دکمه ها که میگی اگه گزارشت چند تا صفحه داشته باشه خودش فعال میشه.

موفق باشی

shima2006
چهارشنبه 18 شهریور 1388, 12:03 عصر
متشکرم
حالت اول صادقه و به همین خاطر ظاهرا باید از روشی غیر از کریستال ریپورت استفاده کنم

mn_zandy63
پنج شنبه 19 شهریور 1388, 13:09 عصر
خب چرا روش دیگه؟
فیلد هات رو بذار داخل قسمت Detail.
:متفکر:

shima2006
شنبه 21 شهریور 1388, 14:03 عصر
نمی تونم از Detail استفاده کنم چون من یک فرم دارم فرض کن یک کارنامه
از اون جایی که کارنامه فرمت مشخصی داره پس نمیشه تویه Detail گذاشتش
چون کاربر باید در هر لحظه یک کارنامه رو ببینه ، دکمه صفحه بعدی رو بزنه و کارنامه بعدی رو ببینه

shima2006
شنبه 21 شهریور 1388, 14:04 عصر
به نظرم تنها راهش این باشه که فرم رو در C# طراحی کنم و کاربر با زدن دکمه بعدی ، اطلاعات رکور بعدی رو ببینه...

mn_zandy63
یک شنبه 22 شهریور 1388, 00:26 صبح
سلام دوست عزیز خیر لازم نیست.
اگه فقط مشکلت اینه که هر رکورد داخل یک صفحه جداگانه نشون داده بشه، میتونی به کریستال بگی که هر رکورد رو توی یک صفحه نشون بده.

اطلاعاتت رو در قسمت Details بذار و بعد


Report -> Section Expert -> Details -> Paging -> New page after -> [1] Visible records
رو تیک بزن.

موفق باشی

shima2006
یک شنبه 22 شهریور 1388, 14:37 عصر
یه چیز جالب کشف کردم
وقتی ارتباط با یک جدول برقرار می کنم دکمه های مربوط به صفحه بعدی و صفحه قبلی فعال میشه ولی وقتی ارتباط کریستال ریپورت رو با Store Procedure برقرار می کنم این دکمه ها غیرفعال می شوند:متفکر:

mn_zandy63
یک شنبه 22 شهریور 1388, 16:40 عصر
منظورت از ارتباط چیه؟

shima2006
یک شنبه 22 شهریور 1388, 23:54 عصر
در قسمت Database Fields اگه ارتباط با یک table برقرار شه .......
منظورم از ارتباط اینه:گیج:

mn_zandy63
دوشنبه 23 شهریور 1388, 08:14 صبح
در قسمت Database Fields اگه ارتباط با یک table برقرار شه .......
منظورم از ارتباط اینه:گیج:

خب بستگی داره چیکار کرده باشی، نمیشه حدس زد. :متفکر:
شاید Stored procedure ت فقط یه دونه خروجی داره، یا هر دلیل دیگه ای که الان به ذهنم نمیرسه.

اگه گیر کردی، گزارش + دیتابیست رو بذار اینجا یه نیگاه بهش بندازیم.
موفق باشی.

shima2006
جمعه 27 شهریور 1388, 12:26 عصر
اگه فقط مشکلت اینه که هر رکورد داخل یک صفحه جداگانه نشون داده بشه، میتونی به کریستال بگی که هر رکورد رو توی یک صفحه نشون بده.

اطلاعاتت رو در قسمت Details بذار و بعد



Report -> Section Expert -> Details -> Paging -> New page after -> [1] Visible records
رو تیک بزن.


من در Visual studio 2008 کار میکنم و New page after رو پیدا کردم و براش تیک زدم
از طرفی Stored procedure رو اجرا کردم و مطمئنم که بیش از یک رکورد برمی گردونه
ولی متاسفانه اون مثلثهایه کوچولویه مربوط به صفحه بعدی و قبلی فعال نشدن:عصبانی++:
راستی من [1] Visible records رو در آدرسی که دادید ندیدم !
به نظرتون چرا فعال نمیشن؟؟؟

mn_zandy63
جمعه 27 شهریور 1388, 23:39 عصر
سلام دوست عزیز
خب قسمت New Page After رو که پیدا کردید؟ داخل اون چه قسمت هایی داشتید؟
به یک نکته دقت کنید حتما باید قسمت Details انتخاب باشه تا Visible Records قابل دیدن باشه. (اگه Details شما به چند Detail تقسیم شده دقت کنید که حتما خود Details انتخاب شده باشه).
http://barnamenevis.org/forum/attachment.php?attachmentid=37138&stc=1&d=1253302590

مثلث های مربوط به صفحه بعد و قبل فقط فقط به این بستگی داره که گزارش شما چند صفحه داشته باشه یا خیر.
اگه وجود ندارند معنیش اینه که به هر دلیل گزارش شما فقط یک صفحه داره.
حالا این میتونه مثلا به این دلیل باشه که شما فیلد هاتون رو به جای Details در Header ها گذاشته باشید یا اونها رو فیلتر کرده باشید و یا هر دلیل دیگه ای که در این لحظه به ذهن من نمیرسه.

اگه نتونستید پیدا کنید، کد و فایل گزارشتون رو بذارید اینجا تا یک نیگاه بهش بندازیم.

موفق باشید

shima2006
شنبه 28 شهریور 1388, 08:48 صبح
متشکرم mn_zandy63 ، مثل همیشه کمکت به دادم رسید

mn_zandy63
شنبه 28 شهریور 1388, 23:28 عصر
خواهش میکنم.

Happy Coding... :چشمک:

shima2006
دوشنبه 30 شهریور 1388, 10:04 صبح
mn_zandy63 یک مشکل کوچولو!
وقتی گزارشی آماده میشه فرض کنید ده تا رکورد برمی گرده
تویه کریستال ریپورت اول دهمین رکورد رو نشون میده و مثلث کوچولویه مربوط به صفحه قبلی فعال میشه
ولی من میخوام اول ، اولین رکورد رو نشون بده و مثلث مربوط به صفحه بعدی فعال بشه....
یعنی کاربر به جایه اینکه عقبکی بره ، یکی یکی بره جلو:متفکر:

mn_zandy63
دوشنبه 30 شهریور 1388, 23:54 عصر
سلام دوست عزیز.
مطمئنی؟؟ تا اونجا که اطلاعات من اجازه میده، تا خودت داخل کد به Crystal Report Viewer نگی آقا جون برو فلان صفحه، خودش صفحه اولِ به طور پیشفرض.

یه چک کن. :متفکر:
موفق باشی

shima2006
سه شنبه 31 شهریور 1388, 07:54 صبح
آخه منظورتون از چک کردن چیه؟
من برنامه رو اجرا میگیرم ، می بینم فقط می تونم برم به صفحه قبلی...
و این در حالی است که اگر Stored Procedure مربوطه رو اجرا بگیرم به ترتیب رکوردها رو از اول به آخر میاره!!!

mn_zandy63
سه شنبه 31 شهریور 1388, 08:27 صبح
سلام دوست عزیز
منظورم از چک کردن این بود که ببین به Crystal Report Viewer نگفتی برو فلان صفحه؟

به ذهنم موردی نمیرسه که اتوماتیک این اتفاق بیافته، اگه بتونی برنامه ت رو بزاری شاید بتونم کمک کنم :لبخندساده:

mn_zandy63
سه شنبه 31 شهریور 1388, 08:39 صبح
اگه راهی پیدا نکردی، اینو امتحان کن
در آخرین خط روالی که گزارش رو load کردی، تابع GotoFirstPage رو از CrystalReportViewr اجرا کن.
ببین درست میشه یا نه، اگه نشد، احتمالا موضوع چیز دیگه ایه و احتمالا من اشتباه متوجه مشکلت شدم. :چشمک:

موفق باشی

shima2006
سه شنبه 31 شهریور 1388, 16:22 عصر
mn_zandy63 عزیز این تابع GotoFirstPage رو از کجا پیداش کنم؟

mn_zandy63
سه شنبه 31 شهریور 1388, 23:48 عصر
سلام دوست عزیز همون CrystalReport Viewer که توی صفحه گذاشتی و فایل گزارشت رو دادی نمایش بده، این تابع رو داره.

ahrimaneahurai
چهارشنبه 08 مهر 1388, 22:03 عصر
سلام رفیق.از group استفاده کن . مثلا بر اساس شماره دانش آموز.بر اساس کلیدت.مشکلت حل میشه.