在网页中呈现Crystal Report 2022报表
Posted Insus.NET
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在网页中呈现Crystal Report 2022报表相关的知识,希望对你有一定的参考价值。
准备好数据。
创建好水晶报表报表。
但是,我已经有在aspx.cs有传入帐户与密码:
密码已经确认输入为正确的。
但是:
奇了,什么情况?
先来看看是什么原因,导致这个问题产生:
2处的服务器名称不相同。
解决方案,2种可以解决。
第1 种,改变xxx.aspx.cs的链接字符,把127.0.0.1改为IT11。
第2种,改变SaleSummery.rpt的数据库链接的数据库名为127.0.0.1即可。
下面是按第2种方案来处理:
更改之后,再次呈现数据即可。
如何在 Crystal Report 中获取日期范围的每周或 7 天
【中文标题】如何在 Crystal Report 中获取日期范围的每周或 7 天【英文标题】:How to get the Weekly or 7 days of the Date Range in Crystal Report 【发布时间】:2014-06-06 09:14:47 【问题描述】:如何在 Crystal Report 的公式字段中获取 7 天或每周取决于日期范围?
Example:
Date Range from March 01, 2014 to March 31, 2014
Output:
Week 1 (March 01 to March 07)
Week 2 (March 08 to March 14)
Week 3 (March 15 to March 21)
Week 4 (March 22 to March 28)
Week 5 (March 29 to March 31)
【问题讨论】:
但是如果你看到三月的日历第一周只有first of march
假设一周的第一天是sunday
就像第二周是02 - March to 08 - March
...你确定这个你的要求?
不,它不是特定的月份,例如,我将尝试选择从 3 月 1 日到 4 月 15 日,因此它会自动获取 7 天,直到它到达时间范围的最后一天作为我的示例。
ok 在这种情况下第 5 周应该来自March 29 to Apr 4
?
是的,那么最后一周应该是 4 月 12 日到 4 月 15 日。
【参考方案1】:
自定义函数RangeWeekSplitter
一年内有效。水晶语法。
Function (dateTimeVar dFrom, dateTimeVar dTo)
// First day of the year
local dateTimeVar dBegCurrYear:= Date (Year(dFrom), 1, 1);
// Day of year (1 to 365 or 366 in a leap year)
local numberVar nFrom:= DatePart ("y", dFrom);
local numberVar nTo:= DatePart ("y", dTo);
local numberVar i;
local numberVar iTo;
local numberVar nDaysInWeek:= 7; // number of days in the week
local numberVar nWeek:= 0; // counter weeks
local stringVar sResult:= ""; // output string
for i:= nFrom to nTo step nDaysInWeek do
(
nWeek:= nWeek+1;
iTo:= i+(nDaysInWeek-1);
if(i+nDaysInWeek > nTo)
then iTo:= nTo;
// generate output string
sResult:= sResult + chr(13)+
"Week " + CStr(nWeek) + " (" +
CStr(DateAdd ("y", i-1, dBegCurrYear), "MMMM d") +
" to " +
CStr(DateAdd ("y", iTo-1, dBegCurrYear), "MMMM d") +
")";
);
sResult;
使用示例:
// Date range
local dateTimeVar dFrom:= Date (2016, 1, 14);
local dateTimeVar dTo:= Date (2016, 3, 4);
RangeWeekSplitter (dFrom, dTo);
【讨论】:
【参考方案2】:您也可以将DatePart
与"ww"
一起使用。见IBM Knowledge Center:
DatePart (intervalType, inputDateTime)
...
ww:一年中的第几周(1 到 53,firstDayOfWeek 和 firstWeekOfYear 确定一年中第一个日历周的确切天数)
结合DatePart ("w", inputDateTime)
或DayOfWeek(inputDateTime)
获取星期几,您可以计算当前日历周的第一天和最后一天。
因此对于一个特定日期 (inputDateTime
),这将是您的公式“RangeWeek”:
Function (DateTimeVar inputDateTime)
NumberVar cw := DatePart("ww", inputDateTime);
DateTimeVar first := DateAdd("d", 1 - DayOfWeek(inputDateTime, crMonday), inputDateTime);
DateTimeVar last := DateAdd("d", 7 - DayOfWeek(inputDateTime, crMonday), inputDateTime);
"Week " + ToText(cw) + " (" + ToText(first) + " to " + ToText(last) + ")"
当然,您需要为 ToText 提供所需的格式字符串。
例子:
Input: "August 23, 2017"
Output: "Week 34 (August 21 to August 27)"
这使您在获取日期范围的公式中变得更容易。
DateTimeVar from := ...;
DateTimeVar to := ...;
NumberVar cw;
NumberVar count := 0;
StringVar output := "";
for cw := DatePart("ww", from) to DatePart("ww", to) do
(
output := output + chr(13) + RangeWeek(DateAdd("d", 7*count, from));
count := count + 1;
);
output
【讨论】:
以上是关于在网页中呈现Crystal Report 2022报表的主要内容,如果未能解决你的问题,请参考以下文章
水晶报表 Crystal Report 调用存储过程时出错 找不到表 ,解决方法。