2. LTUDQL 2
N畛i dung
Lo畉i report h畛 tr畛 c董 b畉n tr棚n VS.NET
Crystal Report hay RDLC?
Lm th畉 no s畛 d畛ng Crystal Report tr棚n VS .NET 2010?
達 ci Crystal Report, nh動ng khi t畉o m畛i 1 report (*.rpt) l畉i
b叩o l畛i l炭c bi棚n d畛ch, kh担ng t狸m th畉y control ReportViewer?
T畉o Crystal Report v畛i file *.mdf
. -2- 息HCMUS
3. LTUDQL 2
1.Lo畉i report h畛 tr畛 c董 b畉n tr棚n VS.NET
Crystal Report (*.rpt)
T畛 phi棚n b畉n VS 2010 kh担ng c嘆n ci s畉n, mu畛n s畛 d畛ng ph畉i ci th棚m
g坦i SAP Crystal Report
RDLC - Report Definition Language Client-side (*.rdlc)
C嘆n g畛i l SQL Server Reporting Services ho畉c Microsoft Report
. -3- 息HCMUS
4. LTUDQL 2
2.Crystal Report hay RDLC?
Th担ng tin th畉o lu畉n tr棚n forum Microsoft:
http://social.msdn.microsoft.com/Forums/en/netfxbcl/thread/b1068dca-
75d6-4d93-bf9f-2371547b94e9
So s叩nh gi畛a Crystal Report v RDLC:
http://www.crystalreportsbook.com/SSRSandCR_Conclusion.asp
ki畉n c叩 nh但n:
RDLC c坦 giao di畛n in 畉n 畉p m畉t
Khi t畉o setup cho 畛ng d畛ng RDLC t畛 畛ng nh炭ng vo g坦i ci 畉t, c嘆n
Crystal Report ph畉i d湛ng merge module
Khi ch畉y tr棚n m叩y kh叩c, 畛i v畛i Crystal Report ci cho VS2010 c畉n ci
DotNet Framework 4 full tr棚n client 畛 ch畉y t畛t.
Crystal Report d畛 s畛 d畛ng h董n RDLC
. -4- 息HCMUS
5. LTUDQL 2
3.Lm th畉 no s畛 d畛ng Crystal Report tr棚n VS .NET 2010?
Ci 畉t b畉n SAP Crystal Reports, version for Visual Studio 2010 - Standard
http://www.businessobjects.com/jump/xi/crvs2010/us2_default.asp
. -5- 息HCMUS
6. LTUDQL 2
4.達 ci Crystal Report, nh動ng khi t畉o m畛i 1 report (*.rpt) l畉i
b叩o l畛i l炭c bi棚n d畛ch, kh担ng t狸m th畉y control ReportViewer?
. -6- 息HCMUS
12. LTUDQL 2
6.p d畛ng LINQ vo Crystal Report (tt)
'Thong ke hoc sinh theo diem trung binh
lstHs = hsBus.ThongKeHocSinhTheoDTB(5)
Dim tableDemo As New DataTable("demo")
tableDemo.Columns.Add("Ma")
tableDemo.Columns.Add("Ten")
tableDemo.Columns.Add("DTB")
tableDemo.Columns.Add("TenLop")
For Each item In lstHs
Dim dr As DataRow
dr = tableDemo.NewRow()
dr("Ma") = item.Ma
dr("Ten") = item.Ten
dr("DTB") = item.DTB
dr("TenLop") = item.LopHoc.Ten
tableDemo.Rows.Add(dr)
Next
rpt.SetDataSource(tableDemo)
CrystalReportViewer1.ReportSource = rpt
. - 12 - 息HCMUS
15. LTUDQL 2
7. Ch畉y 畛ng d畛ng tr棚n m叩y kh叩c
Thay 畛i chu畛i k畉t n畛i cho Crystal Report
Dim rpt As New rptDanhSachHocSinh()
MyModule.ChangeConnection(rpt, cnStr)
Dim lhBus As New LopHocBus(cnStr)
Dim dsLopHoc As IList
dsLopHoc = lhBus.LayDanhSach()
. - 15 - 息HCMUS
16. LTUDQL 2
7. Ch畉y 畛ng d畛ng tr棚n m叩y kh叩c
Hm ChangeConnection
Dim conn_string_array() As String = For i = 0 To rpt.Database.Tables.Count - 1
Split(cnStr, ";") Dim logoninfo As TableLogOnInfo
Dim key_value() As String logoninfo = rpt.Database.Tables(i).LogOnInfo
logoninfo.ConnectionInfo.ServerName =
For i = 0 To conn_string_array.Count - 1 server_name
key_value = Split(conn_string_array(i), "=") logoninfo.ConnectionInfo.DatabaseName =
If key_value(0).ToLower = "data source" Then database_name
server_name = key_value(1) logoninfo.ConnectionInfo.UserID = user_id
ElseIf key_value(0).ToLower = "initial logoninfo.ConnectionInfo.Password = password
catalog" Then logoninfo.ConnectionInfo.IntegratedSecurity
database_name = key_value(1) = sspi
ElseIf key_value(0).ToLower = "user id" Then rpt.Database.Tables.Item(i).ApplyLogOnInfo(logo
user_id = key_value(1) ninfo)
ElseIf key_value(0).ToLower = "password" Next
Then
password = key_value(1)
ElseIf key_value(0).ToLower = "integrated
security" Then
sspi = key_value(1)
End If
Next
. - 16 - 息HCMUS
17. LTUDQL 2
7. Ch畉y 畛ng d畛ng tr棚n m叩y kh叩c
Thay 畛i chu畛i cnStr cho LINQ
Public Class LopHocBus
Private _cnStr As String
Public Sub New(ByVal cnStr As String)
_cnStr = cnStr
End Sub
Public Function LayDanhSach() As IList
'Kiem tra business rule neu co
Dim db As New TruongHocDataContext(_cnStr)
Dim query = From lh In db.LopHocs
Select lh
Return query.ToList()
End Function
End Class
. - 17 - 息HCMUS
18. LTUDQL 2
8.p d畛ng
Lm l畉i theo video demo
Th畛 em 畛ng d畛ng l棚n m叩y 1 ng動畛i kh叩c ch畉y
. - 18 - 息HCMUS