سلام
1-مي خواستم از دوستان طريقه چاپ قسمتي از فرم مثلا از مختصات 0و0 تا 500و600 را سوال كنم
2- چه طور مي توان اطلاعات درون DBGrid را به عنوان گزارش در اختيار كاربر قرار داد
ممنون از دوستان
سلام
1-مي خواستم از دوستان طريقه چاپ قسمتي از فرم مثلا از مختصات 0و0 تا 500و600 را سوال كنم
2- چه طور مي توان اطلاعات درون DBGrid را به عنوان گزارش در اختيار كاربر قرار داد
ممنون از دوستان
بهترین راه برای گزارش گیری و چاپ گزارش استفاده از Component های گزارش ساز در
Delphi است مثل QuickReport که در خود بسته نرم افزاری Delphi وجود داره.
این Component ها به شما کمک میکنه که فیلدهای Database رو در یک
صفحه برای کاربر نمایش داده و طبق در خواست کاربر از اون صفحه Print
بگیره. این Component خیلی Dynamic هست و هر نوع گزارشی از قبیل
گزارش جدولی ساده یا جدولی مرکب و ... رو با اتصال به query یا Stored Procedure
مربوط به اون تولید میکنه.
Component های دیگری هم هست ولی من با اونها کار نکردم. اگر مایل هستی از Quick Report
استفاده کنی من در خدمتم.
![]()
ممنون از آقاي Codemaster
اگر براتون امكان دارد نحوه گزارش گيري از اطلاعات و چاپ ركوردهاي DBGrid را كاملا توضيح دهيد. در جاهاي ديگه كامل نبودند
با تشكر
اول بايد Quick Report رو نصب کنی!
در منوی بالای Delphi این مسیر رو دنبال کن :
1- File \ Close All
2- Component \ Install Packages
بعد کلید Add رو بزن و فایل زیر را با این مسیر پیدا کن :
Bin\dclqrt70.bpl\شاخه Delphi
حالا Quick Report نصب شده و میتونی از اون استفاده کنی.
این کارها رو انجام بده تا مرحله بعد رو بگم.
![]()
ممنون
انجام دادم
سلام آقای codemaster
می شه خواهش کنم این تاپیک رو ادامه بدین. چون من هم همین مشکل آقای amir_dpr رو دارم. بعد از اینکه Quick Report نصب شد، چه شکلی باید ازش استفاده کنم.
ممنون
دو راه برای استفاده از 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 قرار بدی و مثل جاهای دیگه به که به دیتا بیس وصل میشی اینجا هم وصل بشی
Last edited by nasim1984; 26-12-2006 at 21:54.
برای اینکه مثل جدوا برای هر ستون نام در نظر گرفته بشه باید در قسمت headerبرای هر ستون یک qrlable از quickreport درگ کنی و مثل یک lable lul,gd fvhd ان caption و چیزهای دیگرش را set کنی.
اگر میخواهی مثل جدول داده های که دارند تکرار میشوند خطکشی شده باشند یا در شکل خاصی باشند باید از quikreport ایتم qrshape را درگ کنی و ذر قسمت property آن shape مورد نظر را انتخاب کنی و مثلا qrdbtext را بین این qrshape ها قرار بدی ولی یک راه بهتر این هست که برای qrdbtext یا هر آیتم دیگه ای که میخواهید داخل کادر خاصی باشه از قسمت properties آن (مثلا پروپرتی qrdbtext) در قسمت frame برای آن فریم هایی که میخواهید را تنظیم کنید.
گفتم که یک راه بهتر هم برای استفاده component کوییک ریپرت هست :
و بقیه مراحل هم مثل قبل هست با این روش گزارش کمتر بهم میریزه.file>>new>>other>>report
امیدوارم بدردتون خورده باشه.
یک نکته که یادم رفت بگم این هست که به جای true کردن detail از قسمت properties میتوانید qrsubddetail را از تب quick report درگ کنید یکی از مزایای qrsubdetailاین هست که درpereview راحتر نشان داده میشه.
هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)