مشاهده نسخه کامل
: كمك درباره تعيين نوع كاغذ چاپگر
سلام دوستان
من يك برنامه دارم كه از دو نوع كاغذ A4,A5 براي چاپ استفاده مي كنه و مشكل اينجاست كه هنگام چاپ چون دو نوع كاغذ براي چاپ هستش كاربر بايد خودش در قسمت PageSetup نوع كاغذ رو عوض كنه چطور مي تونم خودم با كد نويسي اين كار رو بكنم
ودر ضمن چطور مي تونم بدون نمابش دادن پيش نمايش چاپ, گزارش رو چاپ كنم يعني مثلا وقتي تو فرم برنامه هستم با كليك دكمه چاپ بدون رفتن به محيط چاپ و نمايش آن كه اكثرا وقت گير هستش مستقيما خودش چاپ بشه
اي بابا كسي نبود جواب سئوال ما رو بده
:41:
مثلا همتون دارين تو دات نت برنامه مي نويسيد يعني تا حالا براي هيچكدومتون همچين مشكلي پيش نيومده
شايد هم اومده ولي بيخياليش شديد:41:
سلام
کمی دیر شده...
ولی اگر مشکلتان حل نشده..
با چی چاپ میکنید؟؟؟؟؟؟؟
کریستال0مایکروسافت-رسم مستقیم....؟؟؟
با ReportViewer
اما اگر با كريستال هم بگيد ممنون ميشم چون به اونهم احتياج دارم
سلام
Microsoft Report به ظاهر دستور مستقیمی برای پرینت ندارد.
ولی با کد زیر میتوانید این کار را انجام دهید، پارامترهای زیادی برای دستکاری و رسیدن به طرح مطلوب وجود دارد.
کد زیر را همین الآن نوشتم و تست نکردم، ولی مشکلی اصولی ندارد و من بارها از این اصول برای چاپ استفاده کرده ام.
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
برای کریستال هم نمونه ای از CrystalDecisions.CrystalReports.Engine.ReportDocum ent بسازید، میتوانید با PrintOptions خصوصیتها را دستکاری کنید و با PrintToPrinter مستقیماً پرینت بگیرید.
با فرض اينكه نام برنامه Iron
نام گزارش Print_factor.rdlc
نام ديتاست معرفي شده در تابع t_Ds
نام ديتاستي كه گزارش به آن وصل است Tmp_Factor_Kala
آيا اصلاحات زير درسته
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
.
.
.
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
وآيا بايد بعد از انتخاب چاپ تابع MsRPrint فراخاني بشه؟
اگر همه اينها درسته كار نمي كنه و به اين خط گير ميده و ميگه Value cannot be null
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
:41:
سلام
من الآن کد را تست کردم و خوشبختانه جواب گرفتم، فرمت DataSourceName را من اشتباه نوشته بودم، اگر فقط و فقط از یک جدول استفاده میکنید فرمت صحیح DataSetName_DataTableName است و به جای DataSet هم باید DataTable مورد نظر را بدهید.
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
به عنوان یک تقلب میتوانید از مقدار (rpt.GetDataSourceNames(0 به جای DataSourceName استفاده کنید.
این مقدار پس از دستور LoadReportDefinition اماده بهره برداری است.
وآيا بايد بعد از انتخاب چاپ تابع MsRPrint فراخاني بشه؟
یعنی چی؟! تابع مذکور به منظور چاپ مستقیم نوشته شده و شما میتوانید داخل بدنه آن انواع تنظیمات را انجام دهید. نباید فراخانی بشه؟!!
اگر همه اينها درسته كار نمي كنه و به اين خط گير ميده و ميگه Value cannot be null
ساده است، شما فایلی با نام Print_Factor.rdlc در منابع فایل ندارید.
1- مطمئن شوید که فایل مذکور در پروژه تان به همین نام وجود دارد.
2- خود فایل را (نه در زمان طراحی و Design) در پالت SolutionExplorer انتخاب کنید و مطمئن شوید در پالت Properties خصیصه Build Action روی حالت Embedded Resource است و تغییر نکرده.
در کل، شما میتوانید نظریه اصلی را از کد بگیرید و خودتان کد مطلوبتان را بنویسید، مثلاً مثلاً اگر من خودم بودم و نگران سادگی و متوجه شدن و... نبودم گمانم کد را در غالب یک وراثتی از System.Drawing.Printing.PrintDocument پیاده سازی میکردم.
توضيحاتي رو كه داديد انجام دادم مراحل كار يكم جلو رفت اما در خط
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
دچار مشكل شده و پيغام زير رو ميده
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
اگه زحمتي نيست يه نمونه ساده اينجا بزاريد فكر كنم بهتر متوجه بشم و خطاي كارو پيدا كنم
در ضمن فاكتور مورد نظر از دو تا ديتاست اطلاعات ميگيره
با تشكـــــــــــر
سلام
این مشکلی که گفتید نمیتواند ربطی به دستورات فوق داشته باشد،
احتمالاً مشکلی در دیتاست یا خود فایل رپورت دارید،
منظورم آن است که اگر به طرز معمول و با Preview هم اقدام کنید، باز به خطا میخورید، چون خود Preview ارز همین متد Render استفاده میکند.
جوابتان هم طول کشید، برای خاطر نمونه کد بود که وقت ساختنش را نداشتم.
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
سلام دوست عزيز ممنونم كه نمونه برنامه گذاشته بودي
متاسفانه نتونستم برنامه رو باز كنم چون با Vs2008 نوشته بودي و من VS2005 دارم ولي فايل سورشو باز كردم فايل Main تقريبا همون چيزهايي بود كه من هم انجام داده بودم ولي كارساز نشد.
درباره اون چيزي كه گفته بودي
احتمالاً مشکلی در دیتاست یا خود فایل رپورت دارید،
منظورم آن است که اگر به طرز معمول و با Preview هم اقدام کنید، باز به خطا میخورید، چون خود Preview ارز همین متد Render استفاده میکند.
نه اينطور نيست با Preview خيلي خوب كار مي كنه و مشكلي نداره فقط با اين روش جديد ناسازگاره
اگر برات زحمتي نيست اون قسمتي از برنامه رو كه توش گير كردم برات ميفرستم اطلاحش كن
[URL][ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ][URL]
به نام Iron.Zip
وقتي فرم ظاهر شد يك شماره فاكتور از 1 تا حدودا" 100 وارد كن و بعد اينتر فاكتور ظاهر ميشود و بعد دگمه چاپ تا چاپ بشه
اگر لطف كني اون قسمت رو برام اصلاح كني ممنون ميشم
باتشكـــــــــــــــــر
اگر فايل دانلود خراب بود بگيد تا عوضش كنم
چي شــــــــــــــــــــــــ د!:41:
سلام
یک کم کد را که دیدم سرم درد گرفت که حالا فاکتور میگیریم :31:
مشکل شما به دو دلیل است.
1- پروژه شما احتمالاً اول نامش AhanDar بوده و سپس دستی نام را Iron کرده اید در حالی نام اسمبلی و namespace اصلی و root همچنان AhanDar است و تغییرشان نداده اید.
2- فایل گزارش شما دو تا Datasource دارد نه یک عدد، پس بدیهی است باید هر دو DataSource را بدهید.
مثلاً اگر متغییر Datasource در زیر، وهله پر شده ای از نوع IRONDataSet باشد، سه خط کد زیر را باید اینطور ویرایش کنید
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
موفق باشید.
vBulletin , Copyright ©2000-2025, Jelsoft Enterprises Ltd.