مشاهده نسخه کامل
: چگونگي چاپ قسمت خاصي از فرم و چاپ اطالاعات DBGrid
amir_dpr
21-09-2006, 23:46
سلام
1-مي خواستم از دوستان طريقه چاپ قسمتي از فرم مثلا از مختصات 0و0 تا 500و600 را سوال كنم
2- چه طور مي توان اطلاعات درون DBGrid را به عنوان گزارش در اختيار كاربر قرار داد
ممنون از دوستان
codemaster
22-09-2006, 09:49
بهترین راه برای گزارش گیری و چاپ گزارش استفاده از Component های گزارش ساز در
Delphi است مثل QuickReport که در خود بسته نرم افزاری Delphi وجود داره.
این Component ها به شما کمک میکنه که فیلدهای Database رو در یک
صفحه برای کاربر نمایش داده و طبق در خواست کاربر از اون صفحه Print
بگیره. این Component خیلی Dynamic هست و هر نوع گزارشی از قبیل
گزارش جدولی ساده یا جدولی مرکب و ... رو با اتصال به query یا Stored Procedure
مربوط به اون تولید میکنه.
Component های دیگری هم هست ولی من با اونها کار نکردم. اگر مایل هستی از Quick Report
استفاده کنی من در خدمتم.
:blush:
amir_dpr
22-09-2006, 19:30
ممنون از آقاي Codemaster
اگر براتون امكان دارد نحوه گزارش گيري از اطلاعات و چاپ ركوردهاي DBGrid را كاملا توضيح دهيد. در جاهاي ديگه كامل نبودند
با تشكر
codemaster
28-09-2006, 20:44
اول بايد Quick Report رو نصب کنی!
در منوی بالای Delphi این مسیر رو دنبال کن :
1- File \ Close All
2- Component \ Install Packages
بعد کلید Add رو بزن و فایل زیر را با این مسیر پیدا کن :
Bin\dclqrt70.bpl\شاخه Delphi
حالا Quick Report نصب شده و میتونی از اون استفاده کنی.
این کارها رو انجام بده تا مرحله بعد رو بگم.
:)
amir_dpr
29-09-2006, 22:31
ممنون
انجام دادم
Sarah_zhr
22-12-2006, 11:14
سلام آقای codemaster
می شه خواهش کنم این تاپیک رو ادامه بدین. چون من هم همین مشکل آقای amir_dpr رو دارم. بعد از اینکه Quick Report نصب شد، چه شکلی باید ازش استفاده کنم.
ممنون
nasim1984
26-12-2006, 21:35
دو راه برای استفاده از quick report وجود داره. راه اول که اکثرا از اون لستفاده میکنند این هست که تب quick report را باز کنی وآیتم ًquick report را درگ کنی بر روی فرم.بعدش باید بر روی آن header , footer ,detail , ... را مشخص برای این کار به قسمت obj inspector قسمت properties میری و در قسمت band اگر میخوای یک سری اطلاعات در بالای همه صفحات تکرار بشه header را true میکنی .اگر لازم هست اطلاعاتی مثل dbgrid که باید به صورت ستونی وارد بشه قسمت detail را true میکنی.و به همین صورت footer , summery ,...
اگر می خواهید اطلاعاتی که از db grid میخوانید وارد گزارش بشه به ازای هر فیلد یکqrdbtext از تبquick report درگ میکنید به قسمت detail , dataset که در پرپرتی qrdbtext هست را set میکنی.برای set کردن dataset بهتر است که بر روی فرم یکdatasourceو یک adoquery قرار بدی و مثل جاهای دیگه به که به دیتا بیس وصل میشی اینجا هم وصل بشی
nasim1984
26-12-2006, 22:05
برای اینکه مثل جدوا برای هر ستون نام در نظر گرفته بشه باید در قسمت headerبرای هر ستون یک qrlable از quickreport درگ کنی و مثل یک lable lul,gd fvhd ان caption و چیزهای دیگرش را set کنی.
اگر میخواهی مثل جدول داده های که دارند تکرار میشوند خطکشی شده باشند یا در شکل خاصی باشند باید از quikreport ایتم qrshape را درگ کنی و ذر قسمت property آن shape مورد نظر را انتخاب کنی و مثلا qrdbtext را بین این qrshape ها قرار بدی ولی یک راه بهتر این هست که برای qrdbtext یا هر آیتم دیگه ای که میخواهید داخل کادر خاصی باشه از قسمت properties آن (مثلا پروپرتی qrdbtext) در قسمت frame برای آن فریم هایی که میخواهید را تنظیم کنید.
nasim1984
26-12-2006, 22:09
گفتم که یک راه بهتر هم برای استفاده component کوییک ریپرت هست :
file>>new>>other>>report و بقیه مراحل هم مثل قبل هست با این روش گزارش کمتر بهم میریزه.
امیدوارم بدردتون خورده باشه.
nasim1984
26-12-2006, 22:12
یک نکته که یادم رفت بگم این هست که به جای true کردن detail از قسمت properties میتوانید qrsubddetail را از تب quick report درگ کنید یکی از مزایای qrsubdetailاین هست که درpereview راحتر نشان داده میشه.
Sarah_zhr
30-12-2006, 10:21
سلام
مرسی، ممنون از راهنماییتون. انجام می دم. اگه بازم مشکل داشتم، مطرح می کنم.
موفق باشید.
vBulletin , Copyright ©2000-2025, Jelsoft Enterprises Ltd.