关于vs2010 rdlc 报表报表表达式switch的使...

报表/曲线 - 随笔分类 - freeliver54 - 博客园
随笔 - 1954, 文章 - 3, 评论 - 2092, 引用 - 157
随笔分类 - 报表/曲线
摘要: 本文转自:/zh-tw/library/hh273267若要在 WPF 應用程式中使用 ReportViewer 控制項,您需要將 ReportViewer 組件加入至專案,並且以程式設計方式設定該組件。WPF 支援 Windows Form 控制項,但是 ReportViewer 控制項不對 WPF 提供任何自動組態,如同在 Windows Form 應用程式中一樣。 在 WPF 應用程式中,您會在 WindowsFormsHost 控制項內主控 ReportViewer 控制項。 WindowsFormsHost 控制項對呼叫程式碼要求完.
摘要: 本文转自:/pszw/archive//2599937.html前言最近接到一个需求:在给定的数据源中,某(些)列,可能需要单独统计,是否单独统计需要根据报表配置来决定。由于项目中一直使用RDLC来生成报表,临时为了一个需求换一种技术也不是很现实,所以自己捉摸了下。认识RDLCRDLC的主要有三个部分:(1)*.rdlc文件,本质是一个XML文件,这里定义了报表样式;(2)*.xsd文件,也是一个XML文件,这里定义了数据源格式;(3)*.aspx文件,呈现报表的web页面。注:RDLC是什么,可参考蜡人张的博客:http://w
摘要: 本文转自:http://blog.csdn.net/luochengbang/article/details/9964551很久没有写博客了,关于动态列,国内很少资料有介绍动态列的,所想写点心得给哥们啥是动态列呢?通常我们用存储过程时有列转行和行转列的做法,那么在RDLC 怎么支持呢?其实很简单,就是利用了RDLC的 Column Groups先看看源数据:序号姓名科目分数1张三语文802张三数学903张三物理854李四语文70要在RDLC显示为序号姓名语文数学物理1张三8090852李四7000看看RDLC的设计我们把科目这个列放到表头,然后右健,如下图,增加一个Column Group弹出
摘要: 本文转自:/samlin/archive//FormatDateTime.html刚开始接触RDLC报表,觉得RDLC报表提供的格式化工具太少,不像Crystal Report一样那么多的API支持,用起来多少的灵活啊。由于RDLC报表中有相关的日期格式字段,因此自然而然的就需要对日期字段进行格式化了,搜索了一些文章都是在介绍FormatDateTime函数,其实用起来就发现FormatDateTime不是我要的料,这此先看看FormatDateTime的声明吧:Function FormatDateTime( ByVal Ex.
摘要: 本文转自:http://blog.cscworm.net/?p=1650利用 NPOI 變更字體尺寸及樣式:536HSSFWorkbook workbook = new HSSFWorkbook();HSSFSheet sheet = (HSSFSheet)workbook.CreateSheet(&工作表名稱&);HSSFRow Row = (HSSFRow)sheet.CreateRow(0);Row.CreateCell(0).SetCellValu
摘要: 本文转自:/oypx1234/item/5b35dec4e03a3ad=Switch(Fields!MLWHLO.Value = &C01&,CountDistinct(Fields!MLCAMU.Value)*12,Fields!MLWHLO.Value = &C02&,CountDistinct(Fields!MLCAMU.Value),Fields!MLWHLO.Value = &C30&,CountDistinct(Fields!MLCAMU.Value),Fields!
摘要: 本文转自:/yjmyzz/archive//2180940.html今天继续学习RDLC报表的“参数传递”及“主从报表”一、先创建DataSet,如下图:二、创建一个报表rptDEPT.rdlc,显示部门T_DPET的数据三、嵌入Default.aspx中,写在Default.aspx.cs中写些基本代码View Code?using Susing System.Dusing Microsoft
摘要: 本文转自:/jeekun/archive//1936530.html最近在做一个教育相关的项目,遇到很多的报表,在一位学长的推荐下使用了RDLC。这个系统基本上都是简单的查询数据,没有别的复杂的功能,下简单记录下个人使用心得,以便以后使用。如果能帮到需要了解RDLC的人更是非常开心。系统是 三层架构 + 存储过程 开发数据库连接字符串在Web.Config存储,经常会改变。网上很多的RDLC教程都是说数据源都是说添加数据源,然后拖过来一个表什么的,但是这对于实际项目显然不缺实际,因此需要改变思路。我的方法是:手动添加一个 数据集
摘要: 本文转自:/yongfa365/archive//NPOI-MyXls-DataTable-To-Excel-From-Excel.htmlExcel导入及导出问题产生: 从接触.net到现在一直在维护一个DataTable导出到Excel的类,时不时还会维护一个导入类。以下是时不时就会出现的问题: 导出问题: 如果是asp.net,你得在服务器端装Office,几百M呢,还得及时更新它,以防漏洞,还得设定权限允许ASP.net访问COM+,听说如果导出过程中出问题可能导致服务器宕机。 Excel会把只包含数字的列进行...
摘要: 本文转自:/BlueWoods/archive//1444311.html在用MVC开发项目的时候遇到了一个问题,如何运用RDLC报表?首先想到的是在Controller返回DataSet,然后在View绑定值,但是遇到一个异常:...控件是只读的.但是我们在IIS6.0里面配置MVC的时候,发现mvc解析的dll和SASPx是一样的,所以View的生命周期也是ASPX一样,又在网上查了查,找到了一个很好的解决办法,就是在View写通过&script&funciton Page_Load(Object sender,E
摘要: 本文转自:http://blog.csdn.net/ycz815/article/details/6934653The following post shows you how to render an RDLC (Client Report Definition File) in a MVC project. For this tutorial, I am using VS 2008 with MVC 2 Beta. I will also be using the priceless Northwind database and the report will contain a list
摘要: 本文转自:/zh-cn/library/aa337091若要查看部署到报表服务器的报表或在本地文件系统上存在的报表,您可以在 Web 应用程序中使用 WebForms ReportViewer 控件来呈现它们。将 ReportViewer 控件添加到 Web 应用程序使用 Microsoft Visual C# 或 Microsoft Visual Basic 创建一个新的 Microsoft ASP.NET 网站。- 或 -打开一个现有的 ASP.NET 网站并添加一个新的 Web 窗体。在“工具箱”中找到 ReportViewer 控
摘要: 本文转自:http://blog.csdn.net/robinson_0612/article/details/5385117PIVOT,UNPIVOT运算符是SQL server 2005支持的新功能之一,主要用来实现行到列的转换。本文主要介绍PIVOT运算符的操作,以及如何实现动态PIVOT的行列转换。 关于UNPIVOT及SQL server 2000下的行列转换请参照本人的其它文章。一、PIVOT的语法[sql] view plaincopyprint?SELECT [non-pivoted column], -- optional [additional non-pivoted...
摘要: 本文转自:/A2008A/archive//2519272.html今天做报表的时候遇到了多表头的问题,而且相应的报表的格式都一样。所以就采用了报表模板的方式来进行。第一步:在开发的当前项目中引入:Microsoft.Office.Interop.Excel;System.Reflection;命名空间。第二步:获取要导出的数据;第三步:创建一个Excel 应用程序: //需要添加 Microsoft.Office.Interop.Excel引用 Microsoft.Office.Interop.Excel.Applicat...
摘要: 本文转自:/xiaopin/archive//1804699.html有3张表:学生表:S字段:学生编号 学生姓名课程表:C字段:课程编号 课程名称成绩表:SC字段:学生编号 课程编号 分数需要实现最终效果如下:(后面有些课程省略没有截图了)实现的方法:方法一:Code highlighting produced by Actipro CodeHighlighter (freeware)/--&selectmax(s.[name]) AS 姓名, max(casew
摘要: 本文转自:http://blog.csdn.net/keisuoy/article/details/1731528使用RDLC报表(一)1 建立数据源启动VS2005新建一个窗体项目,命名为TestProj在左边的窗体内选择“添加新数据源”或在菜单上操作“添加新数据源”:选择后出现对话窗体,选择“数据库”,进入“下一步”:本数据源以SqlServer2000所提供的Northwind数据库为例,因此在数据库内选择驱动程序为SqlServer,具体操作视所用数据库而定(如果连接为Oracle,建议用Oracle所提供的ODP for .NET,地址:/t
摘要: 本文转自:/szytwo/archive//2444145.htmlC#报表控件ReportViewer rdlc 例(1)启动VS2005新建一个窗体项目,命名为TestProj在左边的窗体内选择“添加新数据源”或在菜单上操作“添加新数据源”:选择后出现对话窗体,选择“数据库”,进入“下一步”:本数据源以SqlServer2000所提供的Northwind数据库为例,因此在数据库内选择驱动程序为SqlServer,具体操作视所用数据库而定(如果连接为Oracle,建议用Oracle所提供的ODP for .NET,地址:http
摘要: 本文转自:http://blog.csdn.net/hapylong/article/details/1633001一、JFreeChart获取。JFreeChart是JFreeChart公司在开源网站SourceForge.net上的一个项目,该公司的主要产品有如下:1、JFreeReport:报表解决工具2、JFreeChart:Java图形解决方案(Application/Applet/Servlet/Jsp)3、JCommon:JFreeReport和JFreeChart的公共类库4、JFreeDesigner:JFreeReport的报表设计工具我们可以从jfree官方网站上获取最新
摘要: 本文转自:/questions/6778883/surfaceview-horizontal-scrolling问:I'm writing an application which will create a graph and draw it on a SurfaceView. Eventually the graph needs to be able to update live but for now I want the SurfaceView to be scrollable horizontally so that the u
摘要: 本文转自:/salam/archive//1873437.html 绘制一个XY集是一种很常见的任务,基于Android平台的绘制很简单,它让所有的GUI在XML中定义的(虽然它也可以通过代码创建)模型是相当不错的。大部分的图形处理一个样本查看,但在大多数情况下,图应该是一个部分的实施走上屏幕布局XML定义为一所以在这里展示我们ImageView布局对象。 在Android环境中,有一整套程序的图形通常是位图实现像素,Canvas是用来绘制位图的画布,通过这一点我们可以得出元(文字,线条等)它描述了漆的颜色,款式等。下面是效果..
摘要: 本文转自:/devinzhang/archive//2360929.html1.简介 AChartEngine(简称ACE)是Google的一个开源图表库(for Android)。它功能强大,支持散点图、折线图、饼图、气泡图、柱状图、短棒图、仪表图等多种图表。该项目地址位于:/p/achartengine/。关于里面类的具体使用,请下载响应的文档说明(主页上有)。2.开发步骤1)在工程中新建一个文件夹比如lib,用于存放ACE Libraries,把achartegine-0.5.0.
摘要: 大概注意事项:1.确定主报表中子报表的名称与动态加载报表的名称一样2.子报表加载数据的事件在加载子报表流的后面3.报表要重新Reset并处理过Refresh4.eg: void BindReport() { //动态create报表 CreatesubRdlc(); ReportViewer1.Re...
摘要: 最后 查找和修改Excel连接字串 解决 #region 读Excel
private void fnReadExcel(string strFileName ,string strSheetName,string strColumnName ,out DataSet dsData) { //strColumnName = " * "; string strConnection = "Provi...
摘要: //双Y轴//且第二条曲线和第三条曲线 公用右侧Y轴InsertChart.SeriesCollection[1].Ungroup(true);InsertChart.SeriesCollection[1].Group(InsertChart.SeriesCollection[2]);//右侧Y轴Microsoft.Office.Interop.Owc11.ChAxis seAxes = Inse...
摘要: 本文转自:/wjg121/archive//1359117.html一、asp.net中导出Execl的方法:在asp.net中导出Execl有两种方法,一种是将导出的文件存放在服务器某个文件夹下面,然后将文件地址输出在浏览器上;一种是将文件直接将文件输出流写给浏览器。在Response输出时,t分隔的数据,导出execl时,等价于分...基于MVC4+EasyUI的Web开发框架经验总结(15)--在MVC项目中使用RDLC报表 - 伍华聪 - 博客园
随笔 - 419, 文章 - 20, 评论 - 6429, 引用 - 20
RDLC是一个不错的报表,有着比较不错的设计模式和展现效果,在我的Winform开发里面,使用RDLC也是一个比较方便操作,如可以参考文章《》或者《》进行了解。但是基于MVC方式,如何构建和展现RDLC报表呢?本文主要介绍如何在基于MVC4+EasyUI的Web开发框架上进行RDLC的集成和使用。
1、RDLC绑定数据源
RDLC的报表设计,是使用VS直接进行编辑的,因此它不管是在Web上,还是在Winform上,设计的方式都差不多,好像绑定数据源的方式有一点不同,WInform的可以选择基于,而Web的只能基于数据库连接方式构建数据绑定对象。
它们两者之间在创建数据源的时候,弹出的对话框选择界面如下所示,看起来Winform的方式选择数据源的方式很多样化。
最终,通过Web方式构建了一个数据集,并在设计视图里面设计一个用户的报表界面,并绑定它们对应的字段,具体如下所示。
在RDLC的设计界面上,它们的操作内容好像是一样的,没有什么差异,可以使用各种数学函数SUM、COUNT等,也可以使用对字段的表达式,格式样式等方式,从而方便构建出一些准确、美观的报表,这部分可以参考文中开始的那两篇引用文章,这里就不再进行细节上的赘述,因为它们是一样的。
2、在Web界面上创建一些功能按钮和实现
我们在MVC项目里面,创建并保存好RDLC报表文件到对应的Report目录上,如下所示。
然后创建一个视图,并在视图里面构建一些按钮,方便构建查询不同的报表格式功能,具体效果如下所示。
HTML代码如下所示
&div style="padding:10 border:1px solid black"&
&a href="@Url.Action("UserRdlcReport", new { format = "Image" })" class="easyui-linkbutton" data-options="iconCls:'icon-view'"&图片输出&/a&
&a href="@Url.Action("UserRdlcReport", new { format = "PDF" })" class="easyui-linkbutton" data-options="iconCls:'icon-view'"& PDF输出&/a&
&a href="@Url.Action("UserRdlcReport", new { format = "Excel" })" class="easyui-linkbutton" data-options="iconCls:'icon-view'"&Excel输出&/a&
&a href="@Url.Action("UserRdlcReport", new { format = "Word" })" class="easyui-linkbutton" data-options="iconCls:'icon-view'"&Word输出&/a&
&div id="autoUpdate" style="display: overflow-y: auto" class="SlideContainer"&
&table width="100%" height="100%"&
&tr&&td&&iframe id="myReport" width="100%" height="800"&&/iframe&&/td&&/tr&
完成这些布局后,我们还需要在对应的控制器里面,对RDLC的报表进行数据绑定并呈现出来。
绑定RDLC报表,并赋值对应的数据源操作如下所示。
LocalReport localReport = new LocalReport();
localReport.ReportPath = Server.MapPath("~/Report/WHC.UserReport.rdlc");
var dt = baseBLL.GetAll();
ReportDataSource reportDataSource = new ReportDataSource("DataSet1", dt);
localReport.DataSources.Add(reportDataSource);
呈现的操作代码如下所示,默认我们以图片进行展现。
byte[] renderedB
renderedBytes = localReport.Render(
reportType,
deviceInfo,
out mimeType,
out encoding,
out fileNameExtension,
out streams,
out warnings);
return File(renderedBytes, (format.ToLower() == "image") ? "image/jpeg" : mimeType);
最终默认可以看到图片的报表展现效果。
当然,我们上面还有其他功能的操作,如PDF功能的展现,这个是一个不错的格式展现,每页分的很好,如果在IE里面,会独立打开PDF文件;如果是Chrome浏览器,则会在浏览器里面直接打开,比较好。
当然,Excel和Word就只能下载进行查看了,因为浏览器并不支持直接在上面进行预览查看的了,除非借助其他控件或者做法。
3、图片内容的连续输出
我们了解RDLC的话,应该知道,一般RDLC报表,它都是通过一个DeviceInfo的信息进行展现的,如下所示是一个标准的DeviceInfo对象。
string deviceInfo =
"&DeviceInfo&" +
&OutputFormat&" + deviceType + "&/OutputFormat&" +
&PageWidth&8.5in&/PageWidth&" +
&PageHeight&11in&/PageHeight&" +
&MarginTop&0.5in&/MarginTop&" +
&MarginLeft&1in&/MarginLeft&" +
&MarginRight&1in&/MarginRight&" +
&MarginBottom&0.5in&/MarginBottom&";
但是这样的内容,如果展现图片的话,就只会展示一页的内容,一般是800的高度这样子,但是我的报表里面可能有很多记录,如何能够让它全部展现出来呢?
方法是有的,不过不是很完美,就是需要计算大概的尺寸,然后修改PageHeight的数值,让它动态的删除最大的记录,达到全部内容都可以输出看到。
为了达到这个目的,我对图片格式输出的报表,对它的高度进行了一个简单的计算,然后换成它的标准高度,这样代码如下所示。
if(format.ToLower() == "image")
double inchValue = (dt.Count / 37.0) * 11;
deviceInfo += string.Format("
&PageHeight&{0}in&/PageHeight&", inchValue);
deviceInfo += "
&PageHeight&11in&/PageHeight&";
最后界面代码如下所示。查看: 2476|回复: 7|关注: 0
关于switch 后面的表达式要用小括号的问题
for i=1:(data(2)-1)& && && &&& switch (i)& && && && && && &%为什么这里的i要加小括号?& &&&case {1 3 5 7 8 10 12}& &%为什么这里检测值要加大括号?
求指教,看了些书也没有想明白,先谢谢了。
关注者: 1
加了大括号表明当出现1 3 5 7&&8 0 12这几种情况时结果相同
关注者: 38
这儿加不加小括号结果一样。 case后面大括号的作用如2楼所说。
yinhefeng 发表于
这儿加不加小括号结果一样。 case后面大括号的作用如2楼所说。
如果 switch 后的表达式和 case后检测值都是数组 又该怎么处理,谢谢您的解答
关注者: 38
hmx1620 发表于
如果 switch 后的表达式和 case后检测值都是数组 又该怎么处理,谢谢您的解答 ...
switch后面应该不可以是数组变量吧。
SWITCH expression must be a scalar or string constant.
关注者: 38
hmx1620 发表于
如果 switch 后的表达式和 case后检测值都是数组 又该怎么处理,谢谢您的解答 ...
不过你可以把数组变成字符常量。i='[4 5 6]';
switch (i)
& & case {'[1 2 3]' '[2 3 4]'}
& && &&&fprintf('Case 1!\n');
& & case '[4 5 6]'
& && &&&fprintf('Case 2!\n');
end复制代码
yinhefeng 发表于
不过你可以把数组变成字符常量。
谢谢版主解答 ,我已经明白些点了
关注者: 38
hmx1620 发表于
谢谢版主解答 ,我已经明白些点了
不用客气,共同学习~
Powered by关于rdlc报表表达式switch的使用实例_百度知道
关于rdlc报表表达式switch的使用实例
在c#中使用Reportview控件的时候,设置报表rdlc需要用到switch。不知道switch能否实现将固定数值进行转换的作用,例如case:“1”;return
“ aaaa ”;break;这种功能?
我有更好的答案
=Switch(Fields!订单单位.Value=&1&,&aaa&,Fields!订单单位.Value=&2&,&ccc&)其中这里面的 Fields!订单单位.Value 这个是字段,当这个字段等于1的时候返回了 aaa
后面就等同拉 我这么设置没问题 加油吧!
其他类似问题
为您推荐:
switch的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁}

我要回帖

更多关于 vs2010 rdlc 报表 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信