Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,027

HOME > .NET Framework > Forum > สอบถามวิธีการปริ้นหลายๆหน้า โดยมาจาก form เดียวกันครับ [Crystal Report , C#]



 

สอบถามวิธีการปริ้นหลายๆหน้า โดยมาจาก form เดียวกันครับ [Crystal Report , C#]

 



Topic : 130638



โพสกระทู้ ( 9 )
บทความ ( 0 )



สถานะออฟไลน์




ผมมีข้อมูลอยู่ชุดหนึ่งเป็น arrays ที่เก็บข้อมูลก็ได้ครับ และต้องการ print โดยใช้ Crystal Report ผ่านโปรแกรม Visual Studio โดยที่ผมสร้างแบบฟอร์มของตัว Crystal Report ขึ้นมาแล้วครับ สามารทำการ mapping ค่าจากตัวโปรแกรมไปใส่ไว้ในเอกสาร Crystal Report ได้เรียบร้อย

แต่ติดปัญหาตรงที่ว่า สมมติผมมีข้อมูลอยู่ 6 ชุด แล้วต้องการจะปริ้นหลังจากการกดปุ่ม เมื่อกดปุ่มแล้ว ให้ตัว Crystal Report Viewer เด้งขึ้นมาให้ปริ้นเอกสารที่ผมสร้างไว้พร้อมใส่ข้อมูล arrays ที่ผมเตรียมไว้ ออกมาทั้งหมด 6 แผ่น แบบนี้สามารถทำได้หรือไม่ครับ ต้องทำอย่างไร ?

ปล.จำนวนเอกสารที่ปริ้นขึ้นอยู่กับจำนวนข้อมูลครับ ซึ่งเพิ่ม ลด ได้เรื่อยๆไม่มีจำกัดครับ

ขอบคุณครับ



Tag : .NET, Crystal Report, Win (Windows App), C#, VS 2013 (.NET 4.x), C







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2018-03-22 10:16:17 By : zlzca71013 View : 3727 Reply : 8
 

 

No. 1



โพสกระทู้ ( 119 )
บทความ ( 3 )



สถานะออฟไลน์
Facebook

ได้ครับ ผมก็ทำอยู่ โดยจะ loop เรียกฟอร์มขึ้นมาใหม่

Code (VB.NET)
 nform = New PrintINVPrintA5Frm() ' Must be created on this thread!
            'Application.Run(nform)
            nform.Show(Me)


หน้าที่มีรีพอร์ต ก็จะสั่ง PrintToPrinter แล้วก็ปิดฟอร์มไป

Code (VB.NET)
  cry = New ReportDocument
        cry.Load(rptPathA5 & "Sale_financePrintA5CrystalReport2.rpt", CrystalDecisions.Shared.OpenReportMethod.OpenReportByTempCopy)

        cry.SetDataSource(PrintINVFrm.Sale_financeDataSet1)
        CrystalReportViewer1.ReportSource = cry
        CrystalReportViewer1.Refresh()

        cry.PrintOptions.PrinterName = "HP LaserJet Professional P1102"
        cry.PrintToPrinter(1, False, 0, 0)
        Me.Close()


แต่ปัญหาคือ บางฟอร์มมันโหลดขึ้นมาแล้วเป็นหน้าเปล่า ปัญหาที่ผมก็ยังแก้ไม่ตกอยู่เหมือนกัน






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2018-03-22 17:32:48 By : pakyaudio
 


 

No. 2



โพสกระทู้ ( 9 )
บทความ ( 0 )



สถานะออฟไลน์


อย่างของผมมันจะใช้ Crystal Report Viewer เป็นตัวเรียกฟอร์ม

ตัวอย่างแบบนี้นะครับ

Code (C#)
            LotteryFormViewer viewer = new LotteryFormViewer();
            LotteryForm report = new LotteryForm();
             
//Set value .....


            viewer.LotteryViwer.ReportSource = report;  //maping value with form
            viewer.Show(); //show form


ท่านหมายถึงว่าให้ผม loop mapping ค่า แล้วทำการเรียกฟอร์มมาเรื่อยๆแบบนี้ใช่ไหมครับ

เช่น
Code (C#)
         for(int i = 0 ; i < arrays.lenght ; i ++)
         { 
            //Set Value....

            viewer.LotteryViwer.ReportSource = report;  //maping value with form
            viewer.Show(); //show form
        }

แบบนี้เรื่อยๆรึัเปล่าครับ

ถ้าใช่แบบนี้ถ้า 10 หน้าฟอร์มมันก็จะเด้งมา 10 หน้าต่างแล้วเราก็ต้องกดปริ้น 10 อันใช่ไหมครับ
ถ้าใช่แบบนี้มันไม่มีวิธีที่ฟอร์มเด้งมาหน้าต่างเดียวแล้วให้ปริ้น 10 แผ่นพร้อมกันใช่ไหมครับ

ขอบคุณครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2018-03-23 10:39:54 By : zlzca71013
 

 

No. 3



โพสกระทู้ ( 119 )
บทความ ( 3 )



สถานะออฟไลน์
Facebook

ในลูป show form แล้วสั่งปริ๊นต์เลยครับ แล้วก็ปิดฟอร์ม โหลดฟอร์มใหม่ปริ๊นต์แล้วก็ปิดฟอร์มอีก จนกว่าจะออกจากลูป

Code (VB.NET)
cry.PrintOptions.PrinterName = "HP LaserJet Professional P1102"  'ชื่อเครื่องพิมพ์ที่ถูกติดตั้งไว้ในเครื่อง
      cry.PrintToPrinter(1, False, 0, 0)
      Me.Close()



ประวัติการแก้ไข
2018-03-23 11:20:56
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2018-03-23 11:20:32 By : pakyaudio
 


 

No. 4



โพสกระทู้ ( 9 )
บทความ ( 0 )



สถานะออฟไลน์


อ่อท่านกำลังหมายถึงให้มัน print เลยโดยที่ไม่ต้องกดปริ้นจากตัว form ใช่ไหมครับแบบนี้หน้าฟอร์มก็จะไม่ขึ้นมา แล้วปริ้น

แล้วแบบนี้ถ้าเราต้องการที่จะเลือกเครื่องปริ้นก่อนจะปริ้นก็คือไม่ได้เลยใช่ไหมครับ

เพราะมันถูก fix มาใน code อยู่แล้ว


ประวัติการแก้ไข
2018-03-23 15:31:56
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2018-03-23 15:16:22 By : zlzca71013
 


 

No. 5



โพสกระทู้ ( 9 )
บทความ ( 0 )



สถานะออฟไลน์


ผมว่าผมได้ละครับ ผมจะให้มี dropdown ให้เลือกชื่อ printer แล้วก็เอามา set เข้ากับ code แล้วทำตามแบบของท่านเลย

ขอบคุณมากครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2018-03-23 16:10:06 By : zlzca71013
 


 

No. 6



โพสกระทู้ ( 119 )
บทความ ( 3 )



สถานะออฟไลน์
Facebook

ใช่ครับทำ Combobox เอาไว้เลือกเครื่องปริ๊นต์สักอัน

ยยย

แอดชื่อเครื่องปริ๊นต์ลงใน Combobox เป็น VB นะครับ C# ไม่ค่อยถนัด

Code (VB.NET)
 Me.ComboBox1.Items.Add("ไม่ได้เลือกเครื่องพิมพ์")
        For Each InstalledPrinters In _
            System.Drawing.Printing.PrinterSettings.InstalledPrinters
            Me.ComboBox1.Items.Add(InstalledPrinters)
        Next InstalledPrinters

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2018-03-23 17:55:08 By : pakyaudio
 


 

No. 7



โพสกระทู้ ( 9 )
บทความ ( 0 )



สถานะออฟไลน์


ตอนนี้ผมมีปัญหาครับ ผม loop เพื่อเซ็ตค่าลง form ใหม่เพื่อปริ้น ปรากฏว่าค่าเดิมที่เคยปริ้นไปแล้วมันไม่หายไปครับ
ผมทั้งใช้ Array.Clear(...); ก็แล้ว ใช้ new array[] ใหม่เลยก็แล้ว ค่ามันยังไม่หายไปเลยครับ
หรืออาจเป็นไปได้ไหมครับว่า ค่ามันฝั่งลง Text Object ของฟอร์มไปแล้วครับ ผมงงมาก

Code (C#)
 if (((i + 1) % 4 == 0)|| (i+1 == section.Count))
                {
                    report.PrintOptions.PrinterName = cBoxPrinter.Text;
                    report.PrintToPrinter(1, false, 0, 0);

                    if (i + 1 != section.Count)
                    {
                        for (int count = 0; count < 80; count++)
                        {
                            txtTimeNo[0, counts].Text = "";
                            txtTimeNo[1, counts].Text = "";
                            txtTimeNo[2, counts].Text = "";
                             //ทำการเซ็ตค่าเป็นว่างให้หมดก็ไม่หาย
                            //หรือผมใช้ txtTimeNo = new TextObject[3, 80];  ค่าก็ยังไม่หายไปครับ ต้องทับเท่านั้นเลย
                        }
                    }

                }


งงมากครับ ช่วยแนะนำทีครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2018-03-23 20:58:48 By : zlzca71013
 


 

No. 8



โพสกระทู้ ( 9 )
บทความ ( 0 )



สถานะออฟไลน์


ผมได้ละครับ ไปเซ๊คค่าของ Text object ให้เป็นค่าว่างครับก่อนใส่ค่าใหม่

Code (C#)
((TextObject)report.ReportDefinition.Sections["Section4"].ReportObjects["txtTime" + (count + 1).ToString()]).Text = "";


ขอบคุณท่าน pakyaudio มากครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2018-03-23 21:20:59 By : zlzca71013
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : สอบถามวิธีการปริ้นหลายๆหน้า โดยมาจาก form เดียวกันครับ [Crystal Report , C#]
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 00
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่