rdlc mysql_RDLC 报表开发
1. 刚才的SQL 脚本
CREATE PROC EmployeeReport
AS
SELECT * FROM Employee
GO
实际的报表开发中,一定不要用SELECT * ,只取报表中需要查看的字段。
2. 有时候,可能需要用户选择一些条件,有选择性的查看报表。而不是全部绑定数据
如上图,用户可能只需要查看2008-9-29至2008-9-30时间段之间的数据
则作法如下
先建立好如上图的ASPX页面,在View Report 事件中写如下的程序
ReportViewer1.LocalReport.ReportPath = AppDomain.CurrentDomain.BaseDirectory + "/Report/Request.rdlc";
DateTime dtFrom =Convert.ToDateTime(txtDateFrom.Text);
DateTime dtTo =Convert.ToDateTime(txtDateTo.Text);
string requester = txtRequester.Text;
string dept = txtRequestDept.Text;
string material = ddlMaterial.SelectedValue;
string iprstatus = ddlStatus.SelectedValue;
DataTable reqrpt = ReportDB.RequestReport(dtFrom, dtTo, material, dept,requester, iprstatus);
if (reqrpt != null)
{
ReportViewer1.LocalReport.DataSources.Clear();
ReportViewer1.LocalReport.DataSources.Add(
new Microsoft.Reporting.WebForms.ReportDataSource("Request_RequestReport", reqrpt));
ReportViewer1.LocalReport.Refresh();
}
ReportViewer1.LocalReport.Refresh();
根据用户所选的参数,把数据值传到SQL语句中即可.下面是RequestReport方法的源码
DataTable RequestReport(DateTime dtFrom, DateTime dtTo, string pMaterial, string pDept, string pRequester, string pIPRStatus) {
string MySQL = Purchase;
string whDate = " RequestDate BETWEEN '{0}' AND '{1}' ";
MySQL = MySQL + string.Format(whDate, dtFrom, dtTo);
string whMaterial = " AND MaterialCode='{0}' ";
if (pMaterial != "ALL")
{
MySQL = MySQL + string.Format(whMaterial, pMaterial);
}
string whDept = " AND RequestDepartment='{0}' ";
MySQL = MySQL + string.Format(whDept, pDept);
string whRequester=" AND Requester='{0}' ";
if(pRequester!="ALL")
MySQL = MySQL + string.Format(whRequester, pRequester);
string whIPRStatus = " AND IPRStatus={0} ";
if (pIPRStatus != "ALL")
{
MySQL = MySQL + string.Format(whIPRStatus, pIPRStatus);
}
IDataProvider privider = DataProvider.CreateDataProvider();
DataSet ds = privider.RetriveDataSet(MySQL);
if (ds != null && ds.Tables.Count > 0)
return ds.Tables[0];
else
return null;
}
const string Purchase="SELECT Name FROM Employee";
3. 设计报表时,可以用上述的方法,实际运行时,可以替换成SQL 语句,传到ReportDataSource中即可,只要相当的表结构字段是存在的。
4. 报表的定义是XML结构的,如果熟悉报表的定义格式规范,可以用文本编辑器打开直接修改。
5. 如果采用SQL Server 2005的服务器端报表,可能还会有进一步的方便设计和开发的地方.这里采用的是.net framework的组件,客户端只需要安装.net framework2.0即可,无需安装额外的组件.
rdlc mysql_RDLC 报表开发相关推荐
- rdlc怎么添加dataset_自定义数据的RDLC报表开发入门(一)
(1)前言 使用了VS好多年,一直认为制作报表是件很头痛的事,不是自己没有研究过,但说真的的确是很头痛的事,尤其是C#下面的各种数据绑定,网上蜡人张的BLOG对RDLC就有很透彻的详细说明,我看了半天 ...
- 物流行业企业报表开发指南
物流行业特点 物流产业是物流资源产业化而形成的一种复合型或聚合型产业.物流资源包括运输.仓储.装卸.搬运.包装.流通加工.配送.信息平台等.这些资源产业化后就形成了运输业.仓储业.装卸业.包装业.加工 ...
- 使用C#和Excel进行报表开发(一)--开始
C#操作Excel进行报表开发系列共写了八篇,也已经有很久没有新东西了,现在整理一下,方便以后查阅,如果有写新的,会同时更新.需要注意的是因为Office的版本不同,实际的代码可能会有所不同,但是都是 ...
- ReportViewer动态报表开发完整步骤
在朋友的邀请下,朋友公司是做高端智能会议系统的给他们公司开发一个简单的公司门户网站.本人都多年没有写ASP.NET C#代码了.这几年都在做数据库和商务智能这块.反正朋友说网站不难,就个简单的展现网站 ...
- 数据蒋堂 | 报表开发的现状
作者:蒋步星 来源:数据蒋堂 本文共1692字,建议阅读5分钟. 通过本文为大家解读报表开发难点重点和现状问题. 报表开发,看起来只是数据呈现环节的事务,并不起眼,但仔细想想,它涉及的工作范围却非常广 ...
- 电信业务支撑报表开发工具解决方案
电信业务支撑报表开发工具解决方案 电信现状 现今中国电信为了运营方便,采用了多套系统进行日常运营支撑,但是在运营中面临了如下两点难处: 1:不及时.新业务比如说政企招财宝开通时,由于一开始设计未考虑该 ...
- oracle excel报表开发,深入浅出OracleEBS之Excel报表开发.doc
深入浅出OracleEBS之Excel报表开发 Oracle ERP最佳技术实践 E-Business Suite Oracle核心应用技术 Excel报表开发 Author:黄建华Jianhua.H ...
- AMDP + XLSX Workbench 报表开发模式
本文介绍了我和同事通过使用AMDP + XLSX Workbench缩短报表开发周期.分离数据查询处理逻辑和前端展示工作的经验.欢迎讨论. 前言 最近接到了一套人力资源报表的开发需求,需要以EXCEL ...
- Devexpress报表开发(二):创建数据报表
Devexpress报表开发(二):创建数据报表 本教程将会介绍如何使用Devexpress的报表控件来实现数据报表,我们将会从以下几步来实现数据报表(PS:文章使用的实例数据库以及结构请查看博客:点 ...
最新文章
- 求字符串全排列 python实现
- 当前人工智能技术都在哪些领域有应用
- Python的代码结构
- java major version: 51,Unsupported major.minor version 51.0的原因与解决办法
- oracle中偏移,怎么对相同的坐标点偏移?
- 利用Dockefile将Python的py文件项目代码打包为Docker镜像
- Tomcat最大线程数的设置
- 科来网络分析系统(CSNAS)
- 百度地图InfoWindow添加点击事件
- 取消 android 内部收费,国产手机硬伤终于被揭开:若安卓系统下半年收费,该如何应对?...
- 好书推荐,电子人的入门好书
- DBA需要掌握的技能和经验
- 小米电视4显示android,全面分析小米电视盒子好用吗?小米电视盒子4体验评测分享...
- 各大电商API详细数据获取
- HDUOJ 6707 Shuffle Card
- 程序员看片神器抱回家
- 2021年安全员-A证考试报名及安全员-A证新版试题
- 2022-2028全球与中国协同办公系统市场现状及未来发展趋势
- 转载 NovaMind思维导图详细使用教程
- 计算机专业女生掉发,女生经常掉头发是什么原因有哪些