الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

طباعة عناصر في صفحة ASPX

مغلق
بدأه Scoool في 4 مارس 2007 · 1 رد · 2,053 مشاهدة · في ASP.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله..

فكرة الدرس :

كثيرا ما صادفت اسئلة حول طباعة DataGrid أو DataLst أو حتى صورة موجودة على صفحة ASPX

وسأطرح هنا حلا جيدا لهذه المسألة أرجو أن يكون هذا الحل جيدا :rolleyes: ..

طريقة العمل :

سوف يتم طباعة الأدوات في صفحة جديدة مع زرين فقط هما Print و Cancel

الخطوات :

1. انشئ صفحة ASPX جديدة ثم انسخ هذا الكود في صفحة HTML ضمن خانة <Form> الخاصة بها:

	<DIV id="PrintDiv" style="DISPLAY: inline; Z-INDEX: 101; LEFT: 136px; WIDTH: 73.38%; POSITION: absolute; TOP: 104px; HEIGHT: 232px"
	align="center" ms_positioning="FlowLayout">
	<P>
	 <asp:ListBox id="ListBox1" runat="server" BackColor="#FFE0C0" Width="176px" Height="200px">
	  <asp:ListItem Value="Nokia">Nokia</asp:ListItem>
	  <asp:ListItem Value="Ericsson">Ericsson</asp:ListItem>
	  <asp:ListItem Value="Seminse">Seminse</asp:ListItem>
	  <asp:ListItem Value="Motorola">Motorola</asp:ListItem>
	 </asp:ListBox></P>
   </DIV>
   <INPUT type="button" value="Button" onclick="getPrint('PrintDiv');" style="Z-INDEX: 103; LEFT: 408px; WIDTH: 160px; POSITION: absolute; TOP: 376px; HEIGHT: 24px">

تعليق : اذا رجعت الى صفحة التصميم فستجد ان لديك عنصران ( InputButton و ListBox )

2. في خانة <Head> اضف هذا السكربت

  <script language="javascript">
<!--

  function getPrint(print_area)
  { 
   //Creating new page
   var pp = window.open();
   //Adding HTML opening tag with <HEAD> … </HEAD> portion 
   pp.document.writeln('<HTML><HEAD><title>Print Preview</title><LINK href=Styles.css  type="text/css" rel="stylesheet">')
   pp.document.writeln('<LINK href=PrintStyle.css  type="text/css" rel="stylesheet" media="print"><base target="_self"></HEAD>')
   //Adding Body Tag
   pp.document.writeln('<body MS_POSITIONING="GridLayout" bottomMargin="0" leftMargin="0" topMargin="0" rightMargin="0">');
   //Adding form Tag
   pp.document.writeln('<form  method="post">');
   //Creating two buttons Print and Close within a table
   pp.document.writeln('<TABLE width=100%><TR><TD></TD></TR><TR><TD align=right><INPUT ID="PRINT" type="button" value="Print" onclick="java script:location.reload(true);window.print();"><INPUT ID="CLOSE" type="button" value="Close" onclick="window.close();"></TD></TR><TR><TD></TD></TR></TABLE>');
   //Writing print area of the calling page
   pp.document.writeln(document.getElementById(print_area).innerHTML);
   //Ending Tag of </form>, </body> and </HTML>
   pp.document.writeln('</form></body></HTML>');   

  }  


//-->
  </script>

3. الآن جرب الطريقة واضغط على الزر .. ماذا تلاحظ .. :blink:

ملخص :

العملية وما فيها انه تم انشاء صفحة جديدة كليا باستخدام الجافا سكربت وتم اضافة زرين فيها ايضا عن طريق الجافا سكربت ،، مع نسخ الموجود داخل النموذج المسمى PrintDiv

ملاحظة :

الآن يمكنك استبدال الـ listView الموجود في الصفحة بأي اداة أردت .. وستجد الطريقة ذانها

المثال في المرفقات

أدعو لي

printedASPX.rar

#2

ما شاء الله رائع أخي

لكن هل بالامكان عند فتح الصفحة ( التي تنشأ عن طريق الجافا سكربت ) ومن ثم يظهر زري ( طباعة - إغلاق ) أن يقوم النظام عند الضغط على زر ( طباعة ) بأن لا يظهر زري ( طباعة - إغلاق ) على الورق ؟!

حاولت اجعل خاصية الـVisible للكوماند = false قبل تنفيذ أمر الطباعة ومن ثم استعادة الخاصية Visible= true ولكن للاسف يظهر الزر على الورق .

وشكرا

460.gif

هذا الموضوع مغلق.

مواضيع مشابهة