注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

gb.qin

A Man's心靈的港灣

 
 
 

日志

 
 

在ASP.net MVC中使用水晶报表和创建通用的报表查看器(集) 三  

2013-01-11 10:30:06|  分类: ASP.NET MVC3 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

3.B创建通用报表水晶报表显示PDF格式的飞行控制器类。
现在,我们将描述我们如何能够显示PDF文件水晶报表中常见的控制器/动作。首先,我们要创建PDF /其他格式的水晶报表通用控制器“GenericReportViewer”。因此,我们可以在两个方面。水晶报表
3.B.1显示水晶报表在同一窗口中
3.B.2显示水晶报表在新的窗口,
让我们创建GenericReportViewer控制器,如以下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
public class GenericReportViewerController : Controller
    {
        public ActionResult Index()
        {
            return View();
        }
        public void ShowGenericRpt()
        {
            try
            {
                bool isValid = true;
 
                string strReportName = System.Web.HttpContext.Current.Session["ReportName"].ToString();    // Setting ReportName
                string strFromDate = System.Web.HttpContext.Current.Session["rptFromDate"].ToString();     // Setting FromDate
                string strToDate = System.Web.HttpContext.Current.Session["rptToDate"].ToString();         // Setting ToDate
                var rptSource = System.Web.HttpContext.Current.Session["rptSource"];
 
                if (string.IsNullOrEmpty(strReportName))
                {
                    isValid = false;
                }
 
                if (isValid)
                {
                    ReportDocument rd = new ReportDocument();
                    string strRptPath = System.Web.HttpContext.Current.Server.MapPath("~/") + "Rpts//" + strReportName;
                    rd.Load(strRptPath);
                    if (rptSource != null && rptSource.GetType().ToString() != "System.String")
                        rd.SetDataSource(rptSource);
                    if (!string.IsNullOrEmpty(strFromDate))
                        rd.SetParameterValue("fromDate", strFromDate);
                    if (!string.IsNullOrEmpty(strToDate))
                        rd.SetParameterValue("toDate", strFromDate);
                    rd.ExportToHttpResponse(ExportFormatType.PortableDocFormat, System.Web.HttpContext.Current.Response, false, "crReport");
                    // Clear all sessions value
                    Session["ReportName"] = null;
                    Session["rptFromDate"] = null;
                    Session["rptToDate"] = null;
                    Session["rptSource"] = null;
                }
                else
                {
                    Response.Write("Nothing Found; No Report name found");
                }
            }
            catch (Exception ex)
            {
                Response.Write(ex.ToString());
            }
        }
    }

像以前我们设置会话值,然后需要,打电话行动“ShowGenericRpt”“GenericReportViewer”

  评论这张
 
阅读(403)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017