![]() |
|
[VB.NET] تعديل بسيط في الطباعة المباشرة فقط ReportViewer - نسخة قابلة للطباعة +- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb) +-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182) +--- قسم : قسم اسئلة VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=183) +--- الموضوع : [VB.NET] تعديل بسيط في الطباعة المباشرة فقط ReportViewer (/showthread.php?tid=16755) |
تعديل بسيط في الطباعة المباشرة فقط ReportViewer - sniperjawadino - 10-08-16 السلام عليكم إخواني وجدت مثال جميع بعنوان " لاول مرة بتقارير مايكروسوف مثال كامل عن طباعة فاتورة بيع ثابتة العرض و متغيرة الطول http://vb4arb.com/vb/thread-4084.html المثال رائع لكن أرجوا أن يقوم أحد الإخوة بتنقية الكود فأنا إريد طباعة التقرير مباشرة فقط لا أريد الأكواد الأخرى من التحكم بطول التقرير عملت عدة محاولات لكن دون جدوى أرجوا المحاولة إخواني غرضي هو الطباعة المباشرة فقط RE: تعديل بسيط في الطباعة المباشرة فقط ReportViewer - ابو ليلى - 10-08-16 و عليكم السلام و رحمة الله و بركاته بعد الاطلاع على التنفيذ الكود يطبع مباشرة فقط انت محتاج تغير اسم الطابعة في الكود الى الطابعة المثبته لديك او يمكنك عمل لوب لجمع الطابعات المثبتة في كومبو بوكس ومن ثم اختيار الطابعة المفضلة للطباعة دعنا نضف كومبوبوكس للواجهة ونسميه Ts_AllPrinters و نستخدم الكود التالي للحصول على اسماء الطابعات المثبتة نستور المرجع التالي اولا كود : Imports System.Drawing.Printingثم الاجراء التالي كود : 'اضافة الطابعات الى كومبو الطابعاتانا عملت متغير نصي في الاعدادت لاخزن فيه اسم الطابعة المفضلة للطباعة PrinterDefultName ثم االحدث الخاص بالكومبو الكود التالي كود : 'تحديث الطابعة الافتراضية بتغيرهابعد ذلك فقط و في السطر التالي لديك كود : cls.BillPrint(ReportViewer1.LocalReport, 3.14961, HeightInInch, "Microsoft XPS Document Writer")فقط غير "Microsoft XPS Document Writer" باسم الطابعة المخزنة في الاعدادت استبدله بالتالي كود : My.Settings.PrinterDefultNameكود : cls.BillPrint(ReportViewer1.LocalReport, 3.14961, HeightInInch, My.Settings.PrinterDefultName)اسف لاني لم ارفق المثال لان واجهة النموذج لم تفتح لدي بسبب اختلاف في نسخة ReportViewer لدي . RE: تعديل بسيط في الطباعة المباشرة فقط ReportViewer - sniperjawadino - 10-08-16 شكرا كثيرا أستادنا ابو ليلى شكرا على تعبك لتقديم الشرح لقد إستفدت من هذا الكود الجميل لاستدعاء الطابعات لكن أخي كيف يمكنني أن أجعل الكود يطبع مباشرة فقط فأنا نحتاج هده الميزة فقط ولا أريده أن يعدل على طول أو عرض التقرير لأني برمجة خواريزميات بسيطة للتحكم في طول التقرير ولا أريد أن يتم تعديلها كل شيئ تمام أخي ما عدا إحتياجي للطباعة المباشرة cls.BillPrint(ReportViewer1.LocalReport, 3.14961, HeightInInch, My.Settings.PrinterDefultName) RE: تعديل بسيط في الطباعة المباشرة فقط ReportViewer - ابو ليلى - 11-08-16 افهم من كلامك انك تريد الطباعة بدون عرض التقرير انا عملت لك مثال صغير يطبع مباشرة وفق جدول من قاعدة بيانات (مشمولة مع البرنامج) من جدول واحد RE: تعديل بسيط في الطباعة المباشرة فقط ReportViewer - sniperjawadino - 11-08-16 والله أستاذي الكريم لم يشتغل مثالك على العلم أنه لدي VS2012 أيضا كما أنه يحتاج قاعدة بيانات وهي غير موجودة لو تتكرم و تعدل لي هذا المثال البسيط حتى يطبع التقرير مباشرة دون أي قاعدة بيانات شكرا لك و تقبل مني الإعتدار لأني طولت عليك RE: تعديل بسيط في الطباعة المباشرة فقط ReportViewer - ابو ليلى - 12-08-16 السلام عليكم و رحمة الله اخي الكريم المشكلة لدي انا على الاغلب و هي بسبب الاصدارة 2015 حيث حصلت بعض المشاكل اثناء تحديث اللغة و ليس لدي الوقت الكافي لمراجعتها و ايضا مثالك لا يفتح بالكامل لدي فقط استطيع الولوج الى شاشة الاكواد الخاصة بالفورمات على اي حال انا ساقدم شرحا و انت قم فقط بالتطبيق بالنسبة لقاعدة البيانات موجودة لديك في المجلد X86 اولا اعمل مشروع جديد واضف له مديول Module و سميه Demo مثلا وضع الكود التالي فيه كود : Imports Systemبعد ذلك قم باضافة DataSet سميها Ds1 و اضف بداخلها جدول Tab1 و اضف له الحقول التي تريدها على ان تكون الحقول موافقة لاسماء الحقول التي تريد جلبها من قاعدة البيانات او عرف Dataset و عبئها ببيانات جدول ما حسب رغبتك , لاحظ في الاعلى الكود التالي يحتوي على اسم Dataset المسمى Ds1 كود : Public Sub Run(ByVal report2 As LocalReport, ByVal pathstr As String, ByVal source_table As DataTable)الان في الفورم Form1 سنضيف الادوات التالية ComboBox نسميه Ts_AllPrinters لنضيف له الطابعات Button نسميه btnPrint نستخدمه للطباعة المباشرة DataGridView بالاسم DataGridView1 لنعرض البيانات من القاعدة او الجدول الافتراضي توفيرا للوقت اعطيك كود النموذج Form1 كاملا و هو سهل فقط دقق فيه و حاول التجريب كود : Imports System.Drawing.Printingفي اعدادت البرنامج عرف متغيرين نصيين هم على التوالي PrinterDefultName لتخزين الطابعة الافتراضية CashReportAppTh لتخزين مسار التقرير اذ يجب ان يكون التقرير مخزن لديك في مجلد البرنامج لاحظ في الاجراء المسمى ReportPath انني قمت بطلب مسار التقرير لتخزينه في الاعدادت وكذلك لاحظ انني قمت بمطابقة اسم التقرير حيث افترضت ان اسمه Report1.rdlc فاذا كان اسم التقرير لديك غير ذلك غيره بما يناسبك بالنسبة لقاعدة البيانات كما تلاحظ من الاكواد اسمها Db1 فيها جدول واحد Tb1 فيه 3 حقول id,namee,phone بالنسبة لتصميم التقرير اضف تقرير للبرنامج و غذيه من Datatset المسمى Ds1 من ثم احفظ البرنامج و اعمل Build و تأكد من ان Report1.rdlc قد اضيف الى مجلد البرنامج الان قم بتشغيل البرنامج و من ثم حدد الطابعة المناسبة لك من قائمة الطابعات عند محاولة الطباعة سيطلب منك تحديد مسار التقرير لاول مرة ليتم تخزينه في الاعدادت ومن ثم سيقوم بالطباعة مع ملاحظة ان كان الجدول لا يحتوي على بيانات سيوقف عملية الطباعة و يعطيك رسالة تنبيه اعتقد ان هذا كل شيئ اعذرني على تقصيري ان محاولة التعديل على مثالك و اعادة رفعه ستكون دون جدوى بسبب وجود مشاكل لدي RE: تعديل بسيط في الطباعة المباشرة فقط ReportViewer - sniperjawadino - 12-08-16 أستاذي الكريم أبو ليلى شرحك وافي و أكثر من مفهوم الحمد لله مثالك شغال و الأكواد كلها شغالة كما قمت بالشرح أشكرك على المجهود و الوقت الذي ضيعته في كتابة هذه السطور جزاك الله كل خير فلو تكرمت أخي الكريم و منحتني كود الطباعة المباشرة فقط فقط دون قواعد بيانات دون DataSet دون التحكم في طول التقرير ودون أي إضافات مثل إختيار الطابعة أريد فقط طباعة Report1 مباشرة فأنا أرسل للتقرير فقط بارامترات ثم أضع كود ReportViewer1.RefreshReport أحس أني كثرت عليك الله يصبرك علينا أخي RE: تعديل بسيط في الطباعة المباشرة فقط ReportViewer - sniperjawadino - 14-08-16 ????..................... RE: تعديل بسيط في الطباعة المباشرة فقط ReportViewer - ابو ليلى - 14-08-16 هلا اخي يمكن انا لم ما انتبهت لطلبك اذا كنت تريد فقط طباعة بيانات ثابتة دون الحاجة لمصدر بيانات لماذا لا تقم باستخدام PrintDocument و تستخدم دوال الرسم لتنفيذ المطلوب ام انك مصر على استخدام Report.Rdlc RE: تعديل بسيط في الطباعة المباشرة فقط ReportViewer - الوادي - 14-08-16 طبعا حسب فهمي لما تريد، فأنت تريد طباعة فواتير الكاشير فكما ذكر ابو ليلى استخدم PrintDocument وهذا مثال لطباعة فاتورة الكاشير مباشرة على الطابعة المحدد اسمها Print to a receipt printer - Visual Basic .NET http://www.visual-basic-tutorials.com/print-to-a-receipt-printer-in-visual-basic.html
|