activereport vb.net应用.rdlx项目

1项目结构

在这里插入图片描述
2.引用的文件

其中mysql连接时注意引入专门驱动
3.app.config文件内容

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <startup>
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" />
    </startup>
</configuration>

4.common.vb内容

Imports MySql.Data.MySqlClient

Public Class Common
    Public Const m_strConn As String = "database=activereport;server=localhost;Uid=root;Pwd=123456;charset=utf8"
End Class

5.创建ReportForm.vb
在这里插入图片描述
6.reportform内容如下Imports MySql.Data.MySqlClient
Imports System.Globalization

Public Class ReportForm
Dim conn As New MySqlConnection(Common.m_strConn)
#Region “帐票名”

Private Sub btnTest_Click(sender As Object, e As EventArgs) Handles btnTest.Click
    Dim rpt As GrapeCity.ActiveReports.PageReport = New GrapeCity.ActiveReports.PageReport(New System.IO.FileInfo("创建的.rdlx路径"))
    Dim runt As GrapeCity.ActiveReports.Document.PageDocument = New GrapeCity.ActiveReports.Document.PageDocument(rpt)
    AddHandler runt.LocateDataSource, AddressOf runt_LocateDataSource

    Dim pageToReport As PageToReport = New PageToReport
    pageToReport.exportRdlPDF(runt, "pdf命名")
End Sub

Private Sub runt_LocateDataSource(ByVal sender As Object, ByVal args As GrapeCity.ActiveReports.LocateDataSourceEventArgs)
    If args.DataSourceName = "activereport" Then
        Select Case args.DataSetName
            Case "绑定数据集1"
                args.Data = Get数据集1名Data()
            Case "绑定数据集2"
                args.Data = Get数据集2名Data()
        End Select
    End If
End Sub

Private Function Get数据集1名Data() As DataTable
    Dim resData As DataTable = New DataTable
    resData.Columns.Add(New DataColumn("項目1"))
    resData.Columns.Add(New DataColumn("項目2"))
    resData.Columns.Add(New DataColumn("項目3"))
    Dim sqlAdapter As New MySqlDataAdapter("sql查询语句", conn)
    Dim ds As New DataSet
    Try
        sqlAdapter.Fill(ds)
        If IsDBNull(ds) = False AndAlso ds.Tables IsNot Nothing AndAlso ds.Tables.Count > 0 Then
            resData = ds.Tables(0)
        End If
    Catch ex As Exception

    End Try
    Return resData
End Function

Private Function Get数据集2名Data() As DataTable
    Dim resData As DataTable = New DataTable
    resData.Columns.Add(New DataColumn("項目1"))
    resData.Columns.Add(New DataColumn("項目2"))
    resData.Columns.Add(New DataColumn("項目3"))
    Dim sqlAdapter As New MySqlDataAdapter("sql文查询语句", conn)
    Dim ds As New DataSet
    Try
        sqlAdapter.Fill(ds)
        If IsDBNull(ds) = False AndAlso ds.Tables IsNot Nothing AndAlso ds.Tables.Count > 0 Then
            resData = ds.Tables(0)
        End If
    Catch ex As Exception

    End Try
    Return resData
End Function

#End Region
End Class
7.创建.rdlx文件
在这里插入图片描述
8.在rdlx文件中使用tablix控件
在这里插入图片描述
9.绑定数据源
注意使用dataser Provider方式
10.添加数据集
在这里插入图片描述
11.绑定数据元素
在这里插入图片描述
12.reportform数据与.rdlx数据间的绑定
创建PageToreport.vb

Public Class PageToReport
 Public Sub exportRdlPDF(_reportDef As GrapeCity.ActiveReports.Document.PageDocument, filename As String)
        Dim filePath As String = "创建的数据源路径"
        If (False = System.IO.Directory.Exists(filePath)) Then
            System.IO.Directory.CreateDirectory(filePath)
        End If

        Dim pdf As New GrapeCity.ActiveReports.Export.Pdf.Section.PdfExport

        pdf.Export(_reportDef, filePath & filename & ".PDF")
        MessageBox.Show("保存成功)
    End Sub



End Class

流程完成

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值