我使用SQL Server存储过程在Crystal Report中填充数据.我能够使用参数传递实现我想要的打印输出,并使用CR中的公式格式化每列.
在打印报告中,通常的过程是它将在Crystal Report Viewer中预览创建/生成的输出,然后,有打印,导出选项,它将首先将报告转换为PDF以继续打印功能
我想要的是当我点击打印按钮时,它会自动导致打印程序.
我是这个链接的答案如何使用C#Asp.net直接将水晶报告打印到客户端机器上
using oReportDocument.PrintToPrinter(1,true,0,0);
Run Code Online (Sandbox Code Playgroud)
代码,其他人也建议填写页面init中的数据集,但我似乎迷失了如何做到这一点.
这是我目前正在使用的代码(通常的打印过程,它会引导您首先进入Crystal Report预览.
public partial class Report_MonthlySalesReportPrint : System.Web.UI.Page
{
SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString);
ReportDocument report = new ReportDocument();
protected void Page_Load(object sender, EventArgs e)
{
con.Open();
//Parameters to be passed as needed in formulas in Report
string RP = Session["RP"].ToString();
DateTime cms = Convert.ToDateTime(Session["CurrentMonthStart"].ToString());
string Loc = Session["Location"].ToString();
string MonthCurrent = Session["MonthCurrent"].ToString();
string YearCurrent = Session["YearCurrent"].ToString();
string MonthPrevious = Session["MonthPrevious"].ToString();
string YearPrevious = Session["YearPrevious"].ToString();
string MonthLastYear = …Run Code Online (Sandbox Code Playgroud) 我在一个应用程序中有一个模块,用于加载下拉列表中的项目列表,具体取决于系统设置中是否设置了这些项目.
当某个项目设置为yes时,此项目应自动成为下拉选项的一部分.这完美适用于谷歌浏览器和其他浏览器,但不适用于Internet Explorer.
我想到了缓存问题,因为我在以前的项目中遇到过相同的问题.
我只是将这个包含在控制器中的动作之上
[OutputCache(NoStore = true)]
Run Code Online (Sandbox Code Playgroud)
现在在ASP.Net Core MVC中尝试过相同的操作
但是找不到"命名空间"OutputCacheAttribute".
这是样本表
我需要实现的是仅获取或显示月份值最高的租户记录.如果月份相等,我需要根据最新的日期值.这是所需的输出样本
有了这个,我开始使用这个代码使用max函数并合并临时表,但无法获得所需的结果.
select tenant, name, date, month
into #sample
from tenant
select *
from #sample
where months = (select max(months)from #sample)
Run Code Online (Sandbox Code Playgroud)
并输出到这样的东西.我相信,代码在整个列表中获得最大值而不考虑每个租户过滤.
任何帮助将不胜感激 :)
这是样本数据,这张表总结了一个租户五年内每月的销售额。此外,还计算总销售额、每月和每天的平均销售额。为了能够做到这一点,我使用了 4 个 sql 查询来获取
然后,我使用 UNION ALL 方法产生这种输出:
这是代码的一部分
SELECT tenantcode, MONTH, year1, year2, year3, year4, year5
from #SalesPerYear
UNION ALL
SELECT * FROM #TotalSales
UNION ALL
SELECT * FROM #AveSalesMonth
UNION ALL
SELECT * FROM #AveSalesDay
ORDER BY TENANTCODE
Run Code Online (Sandbox Code Playgroud)
每个临时表对应于每个查询以获取上面提到的每个查询集。
但这只会在单个租户中产生输出,我想要的是通过选择多个租户来使其灵活,我能够做到这一点,但排序并不令人满意。期望的输出是这样的
但实际输出并未实现。Tenant1 的排序没问题,但 Tenant2 的排序却很混乱。
与此有关的东西
我希望我解释得足够好。
基于上面的教程,我能够在gridview上创建自定义分页,但是,我想限制页面上显示的页码.示例当我有10,000个记录以每页10行显示时,页面链接将加载1到1000个页面链接,这是不理想的.
如何使输出像这样:
先1 2 3 4 5 6 7 8 9 10最后
并自动调整
最后2 3 4 5 6 7 8 9 10 11
等等.
这是创建显示设置的所有页面的代码
private void PopulatePager(int recordCount, int currentPage)
{
double dblPageCount = (double)((decimal)recordCount / decimal.Parse(ddlPageSize.SelectedValue));
int pageCount = (int)Math.Ceiling(dblPageCount);
List<ListItem> pages = new List<ListItem>();
if (pageCount > 0)
{
pages.Add(new ListItem("First", "1", currentPage > 1));
for (int i = 1; i <= pageCount; i++)
{
pages.Add(new ListItem(i.ToString(), i.ToString(), i != currentPage));
}
pages.Add(new ListItem("Last", pageCount.ToString(), currentPage …Run Code Online (Sandbox Code Playgroud) 这是样本预期结果表
如您所见,我有一个具有相应区域的租户列表.我需要创建一个列'Count',它将计算给定TENANT中不同Area的数量.例如,租户'CMBINA13'有两个不同的区域.因此它应该在计数列中输出2,与仅具有1个不同区域的下一个租户示例相同.
这是我最初得到的
select tenantcode , b.name , AreaSqm ,
COUNT(*) OVER (PARTITION BY AreaSqm) AS 'Count'
from TENANT
Run Code Online (Sandbox Code Playgroud)
并且它提供了这样的逻辑错误输出
任何帮助将不胜感激 :)
我有一个SQL查询的结果集.通过对每年租户的销售进行分组以获得每年的总销售额来得出这一结果.表名为TENANTSALES,列为:租户,日期,销售等.
TENANT YEAR SALES
tenant 1 2014 2000
tenant 1 2015 5000
tenant 2 2013 1000
tenant 2 2014 1500
tenant 2 2015 800
Run Code Online (Sandbox Code Playgroud)
我使用这个SQL查询代码来实现上述结果
select tenant, year(date), SUM(sales)
from tenantSales
group by tenant, YEAR(date)
Run Code Online (Sandbox Code Playgroud)
我需要完成的任务是添加一个列名称年度增长,它将比较和计算每个租户的销售额逐年增长.这是样本正确/期望的输出
TENANT YEAR SALES YEARLY GROWTH
tenant 1 2014 2000
tenant 1 2015 5000 150%
tenant 2 2013 1000
tenant 2 2014 1500 50%
tenant 2 2015 800 -46.67%
Run Code Online (Sandbox Code Playgroud)
公式为:((最近一年 - 上一年度)/上一年度)*100
租户1的示例:
((2015年销售额 - 2014年销售额)/ 2014年度销售额)*100 = 150%
香港专业教育学院试图做到这一点,在去年的第二年增加了一年,让我很容易计算两年的销售额,但我不能把最近一年的销售额加起来,只有一年本身.有没有办法或正确的方法呢?
select tenantcode, year(date), SUM(gsc), year(date) …Run Code Online (Sandbox Code Playgroud) 我有这个代码计算文本文件中的模式出现次数.
#include <iostream>
int main()
{
// std::cout << "Hello World!" << std::endl;
// return 0;
ifstream fin("my_data.txt"); //opening text file
int count=0;
char ch[20],c[20];
cout<<"Enter a word to count:";
gets(c);
while(fin)
{
fin>>ch;
if(strcmp(ch,c)==0)
count++;
}
cout<<"Occurrence="<<count<<"n";
fin.close(); //closing file
return 0;
}
Run Code Online (Sandbox Code Playgroud)
但是,经过测试我得到了这个错误
10 2 C:\ Users\80977432\Documents\C++\Untitled1.cpp [错误]'ifstream'未在此范围内声明
sql ×4
asp.net ×3
sql-server ×3
c# ×2
asp.net-core ×1
asp.net-mvc ×1
c++ ×1
custompaging ×1
gridview ×1
sql-order-by ×1
temp-tables ×1