Page tree
Skip to end of metadata
Go to start of metadata

C1SsrsDocumentSource允许你定义要查看的SSRS报表的位置和名称。然后它将启用C1PrintPreviewControl控件来显示分页好的SSRS报表。它不是一个可视化的控件,所以它虽然能被加到一个窗体里,但是它只显示在组件托盘里。

注意:注意:在开始这个此章节前,你必须已经访问过SSRS报表的服务器端,并且在服务器上已经有了至少一个报表。

想要创建一个新的WinForms应用程序,使用C1PrintPreviewControl控件来预览或者导出一个SSRS报表,必须使用.NET framework4.0或者以上版本来完成下面的步骤:使用设计器

  1. 从工具箱中将C1SSRSDocumentSource组件添加到窗体中,该组件就出现在组件托盘中。如果在工具箱中你无法找到这个组件,右键点击并选择Choose items.

    ChooseToolboxItems对话框就会出现。该组件就在C1.Win.C1Document.dll中,然后将它添加到工具箱里。

  2. 点击C1SSRSDocumentSource组件,然后点击智能标签来打开C1SSRSDocumentSource任务菜单。
  3. 选中C1PrintPreviewControl旁边的复选框,这样就能将C1SSRSDocumentSource组件赋给了 C1PrintPreviewControl控件的Document属性。
  4. 右键点击C1SSRSDocumentSource并且选择Properties来打开属性窗口。
  5. 点击DocumentLocation属性旁边的下拉箭头。
  6. 使用下面的对话框定义SSRS服务器端的地址和报表的完整地址,然后点击OK。

  1. 扩展ConnectionOptions属性组。
  2. 点击Credential属性旁边的下拉箭头。
  3. 使用下面的对话框定义用户名,密码和域名,然后点击OK按钮。

!worddavad13b4274da6402da6a124e64625fc88.png

height=16,width=16!注意:注意:确认下面的DLL添加到了程序的引用中。
C1.Win.C1Document.dll
C1.Win.dll
C1.Win.C1Ssrs.dll
C1.Win.C1Report.dll
C1.C1Report.dll

你也能够在代码中设定文件位置和网络证书。更多信息请参照在代码中设定文件名和在代码中设置证书你完成了什么基于你所看到的在预览控件中定义好的SSRS报表,你也许只需要设定几个参数。

你现在可以将它导出成一系列外部程序支持的格式。

3.1、在代码中设定网络证书(Credentials

你能够通过设置Credentials属性来定义访问SSRS报表所需的用户名和密码。这个属性在在C1SSRSDocumentSource中的
SecurityError事件里。
当访问SSRS服务器端因为缺少网络证书而被拒绝时, C1SSRSDocumentSource中的SecurityError事件就会被触发,这样就允许你设定需要的网络证书并重新访问服务 器。

在设计器中

  1. 打开C1SSRSDocumentSource中的事件窗口。
  2. 双击SecurityError 事件。这样在你的代码中就会产生一个此事件的空的处理块。在代码中
  3. 在代码中,像下面所示修改c1SSRSDocumentSource1_SecurityError事件处理块

    C#

    private void c1SSRSDocumentSource1_SecurityError(object sender,
    C1.Win.C1Document.SecurityErrorEventArgs e) { var ds = (C1.Win.C1Document.C1SSRSDocumentSource)sender; ds.Credential = new System.Net.NetworkCredential("myUserId", "myPassword"); e.Retry = true;
    }

    VB

    Private Sub C1SSRSDocumentSource1_SecurityError(sender As Object, e As
    C1.Win.C1Document.SecurityErrorEventArgs)
    Handles C1SSRSDocumentSource1.SecurityError Dim ds = DirectCast(sender, C1.Win.C1Document.C1SSRSDocumentSource) ds.Credential = New System.Net.NetworkCredential("myUserId",
    "myPassword")
    e.Retry = True
    End Sub

  4. 在上面的代码中,用有效的网络证书为SSRS报表服务器重新设定了"myUserId"和"myPassword"。当你的窗体加载时,C1SSRSDocumentSource组件就会尝试访问定义好的报表。

    注意:注意:使用不正确的网络证书会抛出一个安全错误。所以你必须定义一个处理块,用该处理块定义正确的网络证书并且重复访问服务器端的操作。

  5. 运行应用程序。
  • No labels