小编ric*_*mer的帖子

在ASP.NET C#中直接打印Crystal报表

我使用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)

c# asp.net crystal-reports

5
推荐指数
1
解决办法
2万
查看次数

ASP.Net Core MVC中的OutputCache

我在一个应用程序中有一个模块,用于加载下拉列表中的项目列表,具体取决于系统设置中是否设置了这些项目.

当某个项目设置为yes时,此项目应自动成为下拉选项的一部分.这完美适用于谷歌浏览器和其他浏览器,但不适用于Internet Explorer.

我想到了缓存问题,因为我在以前的项目中遇到过相同的问题.

我只是将这个包含在控制器中的动作之上

[OutputCache(NoStore = true)]
Run Code Online (Sandbox Code Playgroud)

现在在ASP.Net Core MVC中尝试过相同的操作

但是找不到"命名空间"OutputCacheAttribute".

  1. 这不再是核心mvc的一部分吗?
  2. 尝试了responseCache哪个可用,但也不起作用,是responsecache替代内容mvc?有什么不同?

asp.net asp.net-mvc asp.net-core

5
推荐指数
1
解决办法
1900
查看次数

SQL SERVER QUERY选择每个项目的最大值记录

这是样本表

在此输入图像描述

我需要实现的是仅获取或显示月份值最高的租户记录.如果月份相等,我需要根据最新的日期值.这是所需的输出样本

在此输入图像描述

有了这个,我开始使用这个代码使用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)

并输出到这样的东西.我相信,代码在整个列表中获得最大值而不考虑每个租户过滤.

在此输入图像描述

任何帮助将不胜感激 :)

sql sql-server temp-tables sql-server-2008

3
推荐指数
2
解决办法
2661
查看次数

SQL Server 查询 - 使用 Union All 中的 Order By 对数据进行排序

这是样本数据,这张表总结了一个租户五年内每月的销售额。此外,还计算总销售额、每月和每天的平均销售额。为了能够做到这一点,我使用了 4 个 sql 查询来获取

  1. 每月和每年的销售额,
  2. 总销售额,
  3. 每月平均销售额,以及
  4. 每日平均销售额

然后,我使用 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 的排序却很混乱。

与此有关的东西

在此输入图像描述

我希望我解释得足够好。

sql sql-server sql-order-by sql-server-2008

2
推荐指数
1
解决办法
179
查看次数

限制要在自定义分页上显示的页码

http://www.aspsnippets.com/Articles/Custom-Paging-in-ASPNet-GridView-using-SQL-Server-Stored-Procedure.aspx

基于上面的教程,我能够在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)

c# sql asp.net gridview custompaging

1
推荐指数
1
解决办法
4163
查看次数

SQL SERVER QUERY获取表中的Number of Distinct列

这是样本预期结果表

在此输入图像描述

如您所见,我有一个具有相应区域的租户列表.我需要创建一个列'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 sql-server-2008 database-partitioning

1
推荐指数
1
解决办法
40
查看次数

SQL查询 - 逐年销售增长

我有一个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)

sql-server stored-procedures sql-server-2008

0
推荐指数
1
解决办法
1万
查看次数

用于计算模式发生次数的C++脚本

我有这个代码计算文本文件中的模式出现次数.

#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'未在此范围内声明

c++

0
推荐指数
1
解决办法
64
查看次数