自定义水晶报表查看器的外观
来源:互联网 发布:红色警戒2mac版下载 编辑:程序博客网 时间:2024/04/30 15:04
自定义水晶报表查看器的外观
目录
1、隐藏/显示查看器的各组成部分,如:树视图、工具栏。
2、隐藏/显示工具栏按钮。
3、控制查看器在 Web 页面里的布局。
4、去除水晶报表的公司LOGO。
5、替换工具栏按钮的图片。
1、隐藏/显示查看器的各组成部分,如:树视图、工具栏。
设置 Crystal Report Viewer 的属性:
BestFitPage 布尔值。获取或设置页面视图是大小合适还是用滚动条进行裁剪。配合设置 Width、Height 来实现无空白和无滚动条的显示!
DisplayGroupTree 布尔值。获取或设置树视图是可见还是隐藏。
DisplayPage 布尔值。获取或设置工具栏是可见还是隐藏。
DisplayToolbar 布尔值。获取或设置工具栏上的转到页按钮是可见还是隐藏。
PageZoomFactor Int32。获取或设置报表的缩放因数。
SeparatePages 布尔值。获取或设置报表页是分开还是连接。
PageToTreeRatio Float64。设置组树与报表视图之间的大小比例。
2、隐藏/显示工具栏按钮。
设置 Crystal Report Viewer 的属性:
HasGotoPageButton 布尔值。获取或设置转到页按钮的可见性。
HasLevelUpButton 布尔值。获取或设置工具栏上的转到上一页按钮是可见还是隐藏。
HasPageNavigationButtons 布尔值。获取或设置工具栏上的页面导航按钮是可见还是隐藏。
HasRefreshButton 布尔值。获取或设置工具栏上的刷新按钮是可见还是隐藏。
HasSearchButton 布尔值。获取或设置工具栏上的搜索按钮是可见还是隐藏。
HasZoomFactorList 布尔值。获取或设置工具栏上的缩放因数列表是可见还是隐藏。
3、控制查看器在 Web 页面里的布局。
在“设计视图”,修改 CrystalReportViewer 的 Width、Height 属性。
切换到窗体的“HTML 视图”,修改 style 属性。
4、去除水晶报表的公司LOGO。
将 Crystal 公司的Logo 文件替换或删除。
(1)如果是用 VS.NET 里自带的水晶报表
C:/Program Files/Microsoft Visual Studio .NET/Crystal Reports/Viewers/images/ToolBar/logo.gif
(2)如果是用水晶报表 9.2
C:/Program Files/Common Files/Crystal Decisions/2.0/crystalreportviewers/images/toolbar/crlogo.gif
5、替换工具栏按钮的图片。
(1)如果是用 VS.NET 里自带的水晶报表
C:/Program Files/Microsoft Visual Studio .NET/Crystal Reports/Viewers/images
(2)如果是用水晶报表 9.2
C:/Program Files/Common Files/Crystal Decisions/2.0/crystalreportviewers/images
登录失败
目录
1、文件夹 NTFS 权限的问题
2、PULL 模式下,数据库登录问题 (Windows 集成身份验证)
3、PULL 模式下,数据库登录问题 (非 Windows 集成身份验证)
4、PUSH 模式下,画蛇添足登录数据库。
5、部署时出错:连接失败。错误的登录参数。
概述
登录失败是水晶报表 Web 应用的一个常见问题,涉及账号模拟、身份验证方式、数据库安全、NTFS 权限这些方方面面的安全问题。
1. 模拟
用户访问 ASP.NET 程序时,通常模拟的是 ASPNET 账号。也可能是当前用户、SYSTEM 账号等。
2. 验证
(1) 登录数据库需要验证用户的身份。
如果采用非 Windows 集成身份验证,则需要提供正确的登录用户名和密码。如果用户名或密码错误,则登录失败。
而采用 Windows 集成身份验证,会自动用用户模拟的账号登录。
(2) 访问 NTFS 文件夹时也需要验证用户的身份。验证的是用户模拟的账号。
3. 授权
(1) 数据库安全采用 Windows 集成身份验证时,如果用户模拟的账号没有登录权限,则出现登录失败。
(2) 访问 NTFS 文件夹时,如果用户模拟的账号没有相应的 NTFS 权限,也会出现登录失败。
1、文件夹 NTFS 权限的问题
(1) 水晶报表 Web 查看器文件夹
VS.NET 内置的水晶报表:C:/Program Files/Microsoft Visual Studio .NET/Crystal Reports/Viewers
水晶报表 9.x:C:/Program Files/Common Files/Crystal Decisions/2.0/crystalreportviewers
错误提示:“/WebApplication1”应用程序中的服务器错误。登录失败。
异常详细信息: CrystalDecisions.CrystalReports.Engine.LogOnException: 登录失败。
(2) 报表文件所在的文件夹,或者导出时的目标文件夹。
错误提示:s登录失败。
异常详细信息: CrystalDecisions.CrystalReports.Engine.LogOnException: 登录失败。
(3) 解决方案
在资源管理器里设置上述文件夹的“安全”,即 NTFS 权限。
为用户 ASPNET 添加“写入”权限。
如果问题仍然存在,为用户 Everyone 添加“完全控制”权限。
2、PULL 模式下,数据库登录问题 (Windows 集成身份验证)
(1) 错误提示
“/MyWebApp”应用程序中的服务器错误。
用户 'PYPC101/ASPNET' 登录失败。
(2) 问题分析
设计水晶报表时,在“数据库专家”的“连接信息”里使用了“集成安全”,即采用了 Windows 集成身份验证。
(3) 解决方案
要为 ASPNET 账号增加数据库登录和访问权限……
但这种安全措施不太适用,设计时最好使用非 Windows 集成身份验证,用服务器的账号登录,比如:sa。
3、PULL 模式下,数据库登录问题 (非 Windows 集成身份验证)
运行时读取 web.config 中服务器及账号信息,并登录数据库服务器。
using CrystalDecisions.Shared ; //负责解释TableLogOnInfo类
using CrystalDecisions.CrystalReports.Engine ; //负责解释ReportDocument类
private void Page_Load(object sender, System.EventArgs e)
{
string rptPath;
rptPath=Server.MapPath ("analysis.rpt");
oRpt.Load (rptPath;);
//从web.config中获取服务器及账号信息
string serverName, dbName, userName, password;
serverName = System.Configuration.ConfigurationSettings.AppSettings ["serverName"];
dbName = System.Configuration.ConfigurationSettings.AppSettings ["dbName"];
userName = System.Configuration.ConfigurationSettings.AppSettings ["userName"];
password =System.Configuration.ConfigurationSettings.AppSettings ["password"];
//登录数据库
TableLogOnInfo logOnInfo = new TableLogOnInfo ();
int i = 0;
// 对报表中的每个表依次循环。
for (i=0;i == Report.Database.Tables.Count - 1;i++)
{
// 设置当前表的连接信息。
logOnInfo.ConnectionInfo.ServerName = serverName;
logOnInfo.ConnectionInfo.DatabaseName = dbName;
logOnInfo.ConnectionInfo.UserID = userName;
logOnInfo.ConnectionInfo.Password = password;
Report.Database.Tables [i].ApplyLogOnInfo (logOnInfo);
}
//建立.rpt文件与CryStalReportviewer文件之间的连接
CrystalReportViewer1.ReportSource = oRpt;
CrystalReportViewer1.DataBind();
}
4、PUSH 模式下,画蛇添足登录数据库。
PUSH 模式使用程序里的数据集作为数据源,不需要登录数据库。
5、部署时出错:连接失败。错误的登录参数。
部署包缺少了负责数据源读写的管理模块:Crystal_Database_Access2003.msm、Crystal_Database_Access2003_chs.msm。
目录
1、隐藏/显示查看器的各组成部分,如:树视图、工具栏。
2、隐藏/显示工具栏按钮。
3、控制查看器在 Web 页面里的布局。
4、去除水晶报表的公司LOGO。
5、替换工具栏按钮的图片。
1、隐藏/显示查看器的各组成部分,如:树视图、工具栏。
设置 Crystal Report Viewer 的属性:
BestFitPage 布尔值。获取或设置页面视图是大小合适还是用滚动条进行裁剪。配合设置 Width、Height 来实现无空白和无滚动条的显示!
DisplayGroupTree 布尔值。获取或设置树视图是可见还是隐藏。
DisplayPage 布尔值。获取或设置工具栏是可见还是隐藏。
DisplayToolbar 布尔值。获取或设置工具栏上的转到页按钮是可见还是隐藏。
PageZoomFactor Int32。获取或设置报表的缩放因数。
SeparatePages 布尔值。获取或设置报表页是分开还是连接。
PageToTreeRatio Float64。设置组树与报表视图之间的大小比例。
2、隐藏/显示工具栏按钮。
设置 Crystal Report Viewer 的属性:
HasGotoPageButton 布尔值。获取或设置转到页按钮的可见性。
HasLevelUpButton 布尔值。获取或设置工具栏上的转到上一页按钮是可见还是隐藏。
HasPageNavigationButtons 布尔值。获取或设置工具栏上的页面导航按钮是可见还是隐藏。
HasRefreshButton 布尔值。获取或设置工具栏上的刷新按钮是可见还是隐藏。
HasSearchButton 布尔值。获取或设置工具栏上的搜索按钮是可见还是隐藏。
HasZoomFactorList 布尔值。获取或设置工具栏上的缩放因数列表是可见还是隐藏。
3、控制查看器在 Web 页面里的布局。
在“设计视图”,修改 CrystalReportViewer 的 Width、Height 属性。
切换到窗体的“HTML 视图”,修改 style 属性。
4、去除水晶报表的公司LOGO。
将 Crystal 公司的Logo 文件替换或删除。
(1)如果是用 VS.NET 里自带的水晶报表
C:/Program Files/Microsoft Visual Studio .NET/Crystal Reports/Viewers/images/ToolBar/logo.gif
(2)如果是用水晶报表 9.2
C:/Program Files/Common Files/Crystal Decisions/2.0/crystalreportviewers/images/toolbar/crlogo.gif
5、替换工具栏按钮的图片。
(1)如果是用 VS.NET 里自带的水晶报表
C:/Program Files/Microsoft Visual Studio .NET/Crystal Reports/Viewers/images
(2)如果是用水晶报表 9.2
C:/Program Files/Common Files/Crystal Decisions/2.0/crystalreportviewers/images
登录失败
目录
1、文件夹 NTFS 权限的问题
2、PULL 模式下,数据库登录问题 (Windows 集成身份验证)
3、PULL 模式下,数据库登录问题 (非 Windows 集成身份验证)
4、PUSH 模式下,画蛇添足登录数据库。
5、部署时出错:连接失败。错误的登录参数。
概述
登录失败是水晶报表 Web 应用的一个常见问题,涉及账号模拟、身份验证方式、数据库安全、NTFS 权限这些方方面面的安全问题。
1. 模拟
用户访问 ASP.NET 程序时,通常模拟的是 ASPNET 账号。也可能是当前用户、SYSTEM 账号等。
2. 验证
(1) 登录数据库需要验证用户的身份。
如果采用非 Windows 集成身份验证,则需要提供正确的登录用户名和密码。如果用户名或密码错误,则登录失败。
而采用 Windows 集成身份验证,会自动用用户模拟的账号登录。
(2) 访问 NTFS 文件夹时也需要验证用户的身份。验证的是用户模拟的账号。
3. 授权
(1) 数据库安全采用 Windows 集成身份验证时,如果用户模拟的账号没有登录权限,则出现登录失败。
(2) 访问 NTFS 文件夹时,如果用户模拟的账号没有相应的 NTFS 权限,也会出现登录失败。
1、文件夹 NTFS 权限的问题
(1) 水晶报表 Web 查看器文件夹
VS.NET 内置的水晶报表:C:/Program Files/Microsoft Visual Studio .NET/Crystal Reports/Viewers
水晶报表 9.x:C:/Program Files/Common Files/Crystal Decisions/2.0/crystalreportviewers
错误提示:“/WebApplication1”应用程序中的服务器错误。登录失败。
异常详细信息: CrystalDecisions.CrystalReports.Engine.LogOnException: 登录失败。
(2) 报表文件所在的文件夹,或者导出时的目标文件夹。
错误提示:s登录失败。
异常详细信息: CrystalDecisions.CrystalReports.Engine.LogOnException: 登录失败。
(3) 解决方案
在资源管理器里设置上述文件夹的“安全”,即 NTFS 权限。
为用户 ASPNET 添加“写入”权限。
如果问题仍然存在,为用户 Everyone 添加“完全控制”权限。
2、PULL 模式下,数据库登录问题 (Windows 集成身份验证)
(1) 错误提示
“/MyWebApp”应用程序中的服务器错误。
用户 'PYPC101/ASPNET' 登录失败。
(2) 问题分析
设计水晶报表时,在“数据库专家”的“连接信息”里使用了“集成安全”,即采用了 Windows 集成身份验证。
(3) 解决方案
要为 ASPNET 账号增加数据库登录和访问权限……
但这种安全措施不太适用,设计时最好使用非 Windows 集成身份验证,用服务器的账号登录,比如:sa。
3、PULL 模式下,数据库登录问题 (非 Windows 集成身份验证)
运行时读取 web.config 中服务器及账号信息,并登录数据库服务器。
using CrystalDecisions.Shared ; //负责解释TableLogOnInfo类
using CrystalDecisions.CrystalReports.Engine ; //负责解释ReportDocument类
private void Page_Load(object sender, System.EventArgs e)
{
string rptPath;
rptPath=Server.MapPath ("analysis.rpt");
oRpt.Load (rptPath;);
//从web.config中获取服务器及账号信息
string serverName, dbName, userName, password;
serverName = System.Configuration.ConfigurationSettings.AppSettings ["serverName"];
dbName = System.Configuration.ConfigurationSettings.AppSettings ["dbName"];
userName = System.Configuration.ConfigurationSettings.AppSettings ["userName"];
password =System.Configuration.ConfigurationSettings.AppSettings ["password"];
//登录数据库
TableLogOnInfo logOnInfo = new TableLogOnInfo ();
int i = 0;
// 对报表中的每个表依次循环。
for (i=0;i == Report.Database.Tables.Count - 1;i++)
{
// 设置当前表的连接信息。
logOnInfo.ConnectionInfo.ServerName = serverName;
logOnInfo.ConnectionInfo.DatabaseName = dbName;
logOnInfo.ConnectionInfo.UserID = userName;
logOnInfo.ConnectionInfo.Password = password;
Report.Database.Tables [i].ApplyLogOnInfo (logOnInfo);
}
//建立.rpt文件与CryStalReportviewer文件之间的连接
CrystalReportViewer1.ReportSource = oRpt;
CrystalReportViewer1.DataBind();
}
4、PUSH 模式下,画蛇添足登录数据库。
PUSH 模式使用程序里的数据集作为数据源,不需要登录数据库。
5、部署时出错:连接失败。错误的登录参数。
部署包缺少了负责数据源读写的管理模块:Crystal_Database_Access2003.msm、Crystal_Database_Access2003_chs.msm。
0 0
- 自定义水晶报表查看器的外观
- 自定义水晶报表的外观
- 自定义水晶报表的外观
- 自定义水晶报表的外观
- 自定义水晶报表的外观
- 自定义水晶报表外观、工具栏、样式设置、除水晶报表的的公司LOGO 、替换图标等,非常实用!
- 水晶报表查看器绑定报表的几种方法
- 自定义水晶报表的显示
- 自定义水晶报表的显示
- 自定义水晶报表的显示
- 用户自定义水晶报表字段
- 水晶报表 自定义打印纸张
- 水晶报表 自定义打印纸张
- 水晶报表用户自定义绘图
- 水晶报表之自定义函数
- 水晶报表(CrystalReport)自定义纸张格式(custom Papersize)的实现
- 水晶报表中如何创建自定义的纸张大小格式?
- 选择字段,创建用户自定义的水晶报表
- Android下如何防止横竖屏切换的时候进度条从头开始
- 头文件如何来关联源文件
- Eclipse 编码修改
- 并查集
- Java连接MemCached服务器
- 自定义水晶报表查看器的外观
- 通过Lock对象以及Condition对象实现多线程同步
- mysql 流程函数 存储引擎 InnoDB简单特性
- C++ 向网站post数据
- SlidingMenu library 导入出错
- [贪心]PKU Stripies
- open 函数的mode参数通过八进制数来表示的原理是什么?
- 关于禅道项目管理软件
- UNIX环境高级编程(第二版) apue.h头文件的配置