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,037

HOME > .NET Framework > Forum > เขียนปุ่ม pinrt จาก CrystalReport ไม่ได้ครับ ช่วยทีครับ พยายามแล้วครับ



 

เขียนปุ่ม pinrt จาก CrystalReport ไม่ได้ครับ ช่วยทีครับ พยายามแล้วครับ

 



Topic : 125612



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



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




เขียนปุ่ม pinrt จาก CrystalReport ไม่ได้ครับ ช่วยทีครับ พยายามแล้วครับ

กกกกกกกกก

ไม่รู้ว่ามันต้องเขียนแบบไหนครับ

แล้วถ้าเราต้องการ ปริ้น การขาย ตอนนั้นเลย จะ select * from where มาที่ CrystalReport ยังไงครับ


ช่วยแนะนำทีครับ ขอบพระคุณครับ



Tag : .NET, MySQL, Crystal Report, VB.NET, C#







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2016-12-03 19:01:13 By : copyringht View : 1395 Reply : 11
 

 

No. 1

Guest


ไม่น่าเชื่อว่าถามตอบ > 200 กระทู้

--- ผมรู้ว่าคุณยกตัวอย่างเพื่อประกอบคำถาม แต่ผมรับรู้ได้ว่ามันไม่มีคำว่า "ตั้งใจ" เจือปนอยู่ในสายเลือดโปรแกรมเมอร์แม้แต่นิดเดียว
------ ถ้าเปรียบเทียบเป็น HN Blood Group (A, B, C, O)
------ เลือดของคุณก็คงจะเป็น กรุ๊ป Y ประมาณนั้น (Z ด้วยซ้ำไป)

ที่ผมกล่าวมาข้างบนผมไม่ได้ตั้งใจจะว่าอะไรคุณหรอก (มันไม่ได้ทำให้ผมรวยขึ้น/จนลง)
--- วันข้างหน้าสมมุติว่า คุณเป็นเจ้าคนนายคน และลูกน้องของคุณทำให้คุณนึกถึงสิ่งที่ผมเคยกล่าวเอาไว้ (กงกรรมกงเกวียน)
------ ไม่น่าเชื่อว่าถามตอบ > 200 กระทู้ เช่นเดียวกันครับ


ปล. ชีวิตของผมไม่ได้มีแค่คำว่า โปรแกรมมิ่ง(Programing)






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-12-03 20:52:21 By : หน้าฮี
 


 

No. 2



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



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


ทำโปรเจคจบอะครับ

ช่วยแนะนำหน่อยครับ ขอบคุณครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-12-03 20:57:12 By : copyringht
 

 

No. 3

Guest


คุณก็ไป Download Crystal Reports มาจาก
--- www.SAP.Com
--- หรือหาเอาจาก Internet/อื่นฯ ที่คุณพอหาได้

แต่ต้องให้ตรงกับ VS ที่คุณกำลังใช้พัฒนา (หมายควยว่า คุณใช้ VS2015 32Bit ก็ต้องไปเอา CR32Bit For VS2015)


สมัยก่อน Visual Studio Version xxx มันมาพร้อมกับ Crystal Report เลยนะ
หลังจากนั้นไม่รู้เป็นเพราะอะไร?
--- Visual studio มันตัด Crystal Report ทิ้งไปดื้อเลย (ถ้าอยากใช้ต่อก็หาเอาเอง ประมาณนั้น)


นี่เหตุผลที่ผมเลิกใช้ Crystal Report
--- ผมไม่ได้ยี่หระกับมันหรอก Crystal Report
------ แต่มันก็แจ๋วและแจ่มแมวจริงฯ (มันทำรายงานที่ซับซ้อนตามความต้องการของเรา ได้เสมอ)
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-12-03 21:18:29 By : หน้าฮี
 


 

No. 4

Guest


ผมเปรียบเทียบอะไรเล่นฯให้คุณดู

Code
ทำโปรเจคจบอะครับ ช่วยแนะนำหน่อยครับ ขอบคุณครับ



สมมุติว่าคุณมีแฟน (คุณเป็นชาย แฟนของคุณคือผู้หญิงและในทางกลับกัน) (แน่นอนว่าพวกคุณเป็นนักศึกษา)
--- ผมทะลึ่ง (เฒ่าหัวงู) ผมเอามือไปจับ "หอย" ในชุดนักศึกษาแฟนของคุณ และผมพูดว่า
--- ผมแก่แล้วและกำลังจะตายในอีกไม่ช้า ผมพูด/คิด แบบนี้แต่มิได้หมายความว่า
------ คนอื่นฯจะคิดแบบเดียวกับผม (แน่นอนว่า ร้อยพ่อพันแม่) และไม่ได้เกิดจาก "กอไผ่" แต่มันคล้ายฯ "กอไผ่" เท่านั้นเอง

ปล. ผมหงอกผมดำ มิได้หมายความว่า "ใครจะตายก่อนกัน"



มองปัญหาใหญ่ฯให้เล็กลง ค่อยฯทำไป
แล้วปัญหามันก็จะเล็กลงเอง และอยู่ในวิสัยที่เราสามารถควบคุมได้

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-12-03 21:37:24 By : หน้าฮี
 


 

No. 5

Guest


ผมจับมัดรวมกันเลย + กระทู้ที่ 125609

วันนี้ผมปรับปรุง ระบบ Session (ไม่ได้ปรับมานานมากแล้ว)
--- โดยใช้ Concept "Generic is all things."


ผมก็ทำ Class เล็กฯขึ้นมาเพื่อประกอบความเข้าใจ

Code (VB.NET)
Public Class myGenericList(Of T)
    Private _lst As New List(Of T)
    ''' <summary>
    ''' Ctor
    ''' </summary>
    ''' <remarks></remarks>
    Sub New()
    End Sub

    Public Sub Add(ByVal item As T)
        _lst.Add(item)
    End Sub

    Public Sub Remove(ByVal index As Integer)
        If (index >= 0) AndAlso (_lst.Count > index) AndAlso (_lst.ElementAtOrDefault(index) IsNot Nothing) Then
            _lst.RemoveAt(index)
        Else
            'TODO
        End If
    End Sub

    Default Public Property Item(ByVal index As Integer) As T
        Get
            Return _lst(index)
        End Get
        Set(value As T)
            _lst(index) = value
        End Set
    End Property
End Class



ปล. สำเนียงโปรแกรมเมอร์มืออาชีพไม่เป็นสองรองใคร หัวใจมันคิดแบบนี้
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-12-04 17:39:00 By : หน้าฮี
 


 

No. 6

Guest


ผมเป็น "โปรแกรมเมอร์" นะใครฯก็พูดได้ แต่ "มันไม่ยากแต่ก็ไม่ง่าย" จนเกินไปนัก
--- ครูบาอาจารย์ที่สอนตามมหาวิทยาลัยของพวกคุณ ผมก็ไม่หยี่หระ (ผมคิดว่าแบบนี้ พวกเด็กฯ)
------ แสบสันต์ไหมล่ะ?
-------- เงินเดือนจะสักกี่บาทกันเชียว (ไม่งั้นก็ไม่ออกมาหาเศษหาเลยอยู่ข้างนอกรั้ว)

เอาง่ายฯ วันนี้พวกคุณเรียนบทที่ 1 และคุณย้อนถามครูบาอาจารย์ของคุณในบทที่ 5
--- แน่นอนว่าคุณได้เกรด 0 (เขาให้คำตอบพวกคุณไม่ได้หรอก เพราะเขาไม่ได้เตรียมการสอนมา)
------ เหตุผลที่เขาตอบพวกคุณไม่ได้เพราะอะไร?
--------- องค์ความรู้ไม่เพียงพอยังไงล่ะ (อันนี้ผมให้ยัดเยียดคำตอบให้)
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-12-04 18:00:26 By : หน้าฮี
 


 

No. 7



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



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


เผื่อเป็นแนวทางครับ
อันนี้เป็น concept ดึงไฟล์ .rpt ออกมาไว้ข้างนอก แล้วเรียกใช้โดยกำหนด path ของไฟล์ครับ
แล้วก็ใช้วิธีส่งข้อมูลเข้ารายงานเป็นแบบ dataset คือ โยนข้อมูลที่ผ่านการ query แล้วเข้าไฟล์รายงาน แทนที่จะให้ตัวรายงานเป็นตัว query ข้อมูลจาก database โดยตรง

Code (VB.NET)
            Dim rpt_path As String = Application.StartupPath & "\report\example.rpt

            Dim ds = New DataSet() //สร้าง DataSet ไว้สำหรับเก็บข้อมูลจากตารางที่เราคิวรี่มาจากฐานข้อมูล เพื่อส่งให้ Crystal report แสดงผล
            ds.Tables("table1").Merge(sub1(param1)) //Sub1(Param1) คือ sub ที่ส่งก้อนข้อมูลที่คิวรี่จากฐานข้อมูลในรูปของ DataTable
            ds.Tables("table2").Merge(sub2(param2))
            ds.Tables("mixer_report").Merge(sub3(param3)

            Dim rpt As New ReportDocument 
            rpt.Load(rpt_path)
            rpt.Subreports(0).SetDataSource(Sub4(Param3)4 การส่งก้อนข้อมูลเข้า SubReport 
            rpt.SetDataSource(ds)
            rpt.SetParameterValue("Param", "value") //ส่งค่า Parameter เข้า Crystal report

            CrystalReportViewer1.ReportSource = rpt
            CrystalReportViewer1.Refresh()
            CrystalReportViewer1.Zoom(1) 

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-12-06 11:12:15 By : cooper1103
 


 

No. 8

Guest


Code
อันนี้เป็น concept ดึงไฟล์ .rpt ออกมาไว้ข้างนอก แล้วเรียกใช้โดยกำหนด path ของไฟล์ครับ


ความหมายของมันก็ตามรูปภาพด้านล่าง
--- คลิ๊กขวาที่รายงานนั้นฯ (Crystal Report File name)
--- เลือก Property
xCrys01

--- Build Actions ต้องไม่เท่ากับ Embed Resource
--- Copy to Output ต้องไม่เท่ากับ Do not copy


Code
แล้วก็ใช้วิธีส่งข้อมูลเข้ารายงานเป็นแบบ dataset คือ โยนข้อมูลที่ผ่านการ query แล้วเข้าไฟล์รายงาน แทนที่จะให้ตัวรายงานเป็นตัว query ข้อมูลจาก database โดยตรง


ความหมายของมันก็คือ สร้าง DataSet (จำลอง DataBase Name) และ Add DataTable (จำลอง Tables) ขึ้นมา
--- อ่านข้อมูลจริงจาก RDBMS แล้วเทข้อมูลใส่ DataSet จำลอง
--- โยนข้อมูลใส่ .RPT
------ การโยนมี 2 แบบ
--------- 1. แบบดื้อฯ ก็วนลูปใส่ DataSet.Tables(0, 1, 2, 3, etc...)
--------- 2. ก็ใช้ Generic อัดเข้าไปเลย (ขั้น Advance) และต้องไปปรับตรงนี้ด้วย
------------ app.config
--------------- ตาม Sourcecode ด้านล่างนี้

Code (VB.NET)
  <startup useLegacyV2RuntimeActivationPolicy="true">
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
  </startup>

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-12-06 21:11:07 By : หน้าฮี
 


 

No. 9

Guest


จาก #NO 8 และประโยคนี้ " 2. ก็ใช้ Generic อัดเข้าไปเลย (ขั้น Advance) และต้องไปปรับตรงนี้ด้วย"
ตัวของ Crystal Report มันยังไม่สนับสนุน (Support) Nulable Of Type เช่น
Code (VB.NET)
Public Class Customers
  Public Property CustID? As Integer 'รหัสลูกค้า
  Public Property DeadDate As NullAble(Of Date) 'วันมรณะ
'สองบรรทัดข้างบนนี้ ความหมายเดียวกัน
End Class


ไม่แน่ใจว่าขณะที่มัน Render (แสดงรายงานออกทางหน้าจอ) มันจำกัดแค่ .NET 4.0 หรือไม่?
--- อันนี้ต้องลองเอาเอง

ปล. พึ่งทำไปหมาดฯ ถึงจำได้
(ลูกค้ามันต้องการ Crystal Reports เท่านั้น แล้วมันขัดได้หรือ?)
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-12-06 21:21:30 By : หน้าฮี
 


 

No. 10

Guest


จาก #NO 8 - 9 คำว่า "อัดเข้าไปใน .RTP ด้วย Generic" มันก็ประมาณนี้
Code (VB.NET)
        Dim leftList = {
                        New With {.ID = 1, .Name = "John", .Changed = False},
                        New With {.ID = 2, .Name = "Obama", .Changed = False},
                        New With {.ID = 3, .Name = "Kinton", .Changed = False}
                        }
        Dim rightList = {
                        New With {.ID = 1, .Name = "John", .Changed = False},
                        New With {.ID = 3, .Name = "Kinton", .Changed = True},
                        New With {.ID = 4, .Name = "Payboy", .Changed = False}
                        }

        Dim RPTJoinList = leftList.GroupJoin(rightList, Function(left) left.ID, Function(right) right.ID, Function(x, y) New With { _
                                            Key .Left = x, Key .Rights = y _
                                            }).SelectMany(Function(x) x.Rights.DefaultIfEmpty(), Function(x, y) New With {
                                                Key .ID = x.Left.ID, _
                                                Key .Name = x.Left.Name, _
                                                Key .Changed = If(y Is Nothing, x.Left.Changed, y.Changed) _
                                            }).ToList()

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-12-06 21:37:04 By : หน้าฮี
 


 

No. 11

Guest


จาก #NO 9 ในเมื่อ Crystal Reports มันไม่สนับสนุน (Support)
--- จริงฯแล้วมันอาจสนับสนุนแต่ตรูองค์ความรู้ไม่เพียงพอก็อาจเป็นไปได้เหมือนกัน
------ (ลองเอาเองก็แล้วกัน ชี้ให้แล้ว)

มัวแต่งมโข่ง (งานของตรูก็ไม่เดินหน้าซิ [วิธีการแก้ไขปัญหามันมี 1, 2, 3, 4, etc, ไม่มีจนแต้ม])

สูงสุดคืนสู่สามัญ

Code (VB.NET)
Public Class Customers
  Public Property CustID As Integer 'รหัสลูกค้า
  Public Property DeadDate As Date  'วันมรณะ
'สองบรรทัดข้างบนนี้ ความหมายเดียวกัน
End Class


แค่นี้ก็แก้ไขได้แล้ว (ปัญหาเฉพาะหน้าแบบด้านฯและยังคงประสิทธิภาพ)
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-12-06 22:39:21 By : หน้าฮี
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : เขียนปุ่ม pinrt จาก CrystalReport ไม่ได้ครับ ช่วยทีครับ พยายามแล้วครับ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ 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 01
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 อัตราราคา คลิกที่นี่