我正在开发一个Asp.Net 3.5应用程序,我需要打印一些应用程序生成的报告.
我以前使用的是SSRS,但我的设计功能有很多问题.因此,我们现在正在寻找Crystal Reports作为替代方案.
当我们开始使用Crystal时,我们遇到了一个新问题.当单击Crystal Report顶部栏上显示的"打印"按钮时,在网页上显示的报告中,它不显示默认的SO打印对话框,而是显示自定义打印页面,然后将报告打印为PDF.
我知道这个解决方案可能足以满足大多数关于在网上打印报告的情况.但根据我的具体情况,我不能保证访问我的网络应用程序的客户端机器安装了PDF阅读器,如Acrobat Reader.我不能要求他们安装它以便使用我的应用程序.
因此,我正在寻找一种解决方案,使生成的报告的"打印"按钮显示默认的SO打印对话框,而不是将其打印为PDF.
你能给我任何解决这个问题的建议吗?
谢谢.
我正在尝试使用截断函数在C#中重现T-SQL Round函数的行为.
这是我试图在C#中重现的SQL行为:
SELECT ROUND(150.757,2,0) -- 150.76
SELECT ROUND(150.757,2,1) -- 150.75
SELECT ROUND(150.747,2,0) -- 150.75
SELECT ROUND(150.747,2,1) -- 150.74
Run Code Online (Sandbox Code Playgroud)
在System.Math有,我试图用两种方法.
第一个,只Math.Truncate截断到整个部分,所以它不会帮助我.
另一种方法是Math.Round.
这种方法有两个有趣的重载.
Math.Round(decimal,int)
Math.Round(decimal,int,System.MidpointRounding)
Run Code Online (Sandbox Code Playgroud)
MidpointRounding枚举选项包括:
System.MidpointRounding.AwayFromZero
// When a number is halfway between two others,
// it is rounded toward the nearest number that is away from zero.
System.MidpointRounding.ToEven
// When a number is halfway between two others,
// it is rounded toward the nearest even number.
Run Code Online (Sandbox Code Playgroud)
Math.Round使用与SQL相同的数据执行两个重载我得到以下结果:
Math.Round(150.757, 2, …Run Code Online (Sandbox Code Playgroud)