一.好久没有写博客了,主要是停在这里太久了,有些事情让自己尽量不在去想,忘记不了一段难以忘怀的记忆,就让这一段美好的记忆沉没在无锡的太湖中吧!不在去想了。难以忘怀。。。。。

二.废话不多说了,不如正题,最近在一直忙于AVS 系统的开发基于C/S的。后期的客户主要想做B/S 的。需要在原来的基础上进行一键式安装部署网站到IIS上。 以及将FastReportOnlineDesign 中的报表的功能嵌入到其中的B/S 的应用程序里面。

三.首先你需要进行建立一个B/S 方面的应用的程序。目前我就按照自己的创建的项目进行展示。

1.首先你需要进行下载和按照一个FastReportOnlineDesign 安装包就可以了,然后将其中的程序集部分进行替换掉就可以使用了。

2..创建一个ASP.NET MVC 5.0 方面的应用的程序。下面是创建的应用程序的核心的关于调用FastReportOnlineDesign 里面的方法就可以了。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using FastReport;
using FastReport.Barcode;
using FastReport.Editor;
using System.Data;
using System.Threading;
using System.IO;
using static System.Net.Mime.MediaTypeNames;
using FastReport.Export.Pdf;
using System.Diagnostics;
namespace FastReportOnlineDesign.Controllers
{
public class HomeController : Controller
{
[STAThreadAttribute]
public ActionResult Index()
{
return View();
}
[HttpPost]
public ActionResult Index(string Parameter)
{
Thread t = new Thread(new ThreadStart(DealReport));//你需要首先创建一个线程 在B/S 应用程序里面必须要这么做否则会报错。
            t.ApartmentState = ApartmentState.STA;
t.Start();
return View();
}
public ActionResult About()
{
ViewBag.Message = "Your application description page.";
return View();
}
//对于报表的操作
private void DealReport()
{
#region  进行汉化处理
string BaseDir = Path.Combine(Application.StartupPath, "File/FastReport");
FastReport.Utils.Res.LocaleFolder = Path.Combine(baseDir, "L18N");
var File = FastReport.Utils.Res.LocaleFolder + @"Chinese (Simplified).frl";
FastReport.Utils.Res.LoadLocale(File);
            #endregion
            #region  进行预览FastReport 以及设计FastReport模板
            DataSet FDataSet = new DataSet();
DataTable table = new DataTable();
table.TableName = "Admin";
table.Columns.Add("AId", typeof(string));
table.Columns.Add("Akey", typeof(string));
table.Rows.Add(0, "ab");
table.Rows.Add(1, "abc");
table.Rows.Add(2, "ab");
table.Rows.Add(3, "abc");
FDataSet.Tables.Add(table);
FastReport.Report report = new FastReport.Report();
try
{
                //report.Load(@"C:\Users\Desktop\FastReportOnlineDesign\FastReportOnlineDesign\FastLayOut\Simple List.frx");
                report.RegisterData(FDataSet);
report.Design();
report.GetDataSource("Admin").Enabled = true;
report.Show();
}
catch (Exception ex)
{
Response.Write(ex.Message);
}
finally
{
report.Dispose();
}
            #endregion
           
        } }
}

3.直接在前端页面进行应用Ajax 进行使用调用就可以了。

4.如果在C/S 应用程序当中直接使用DealReport() 方法就可以了。

2017/11/15  1:00 :00

如何将FastReportOnlineDesign 灵活的应用到C/S B/S 程序当中?的更多相关文章

  1. Azure SQL 数据库的灵活缩放预览版简介

    Eron Kelly SQL Server 产品管理部门产品市场营销总经理 几天前,我们宣布了发布 Azure SQL 数据库的灵活缩放公共预览版.新增的灵活缩放功能通过简化开发和管理,简化了扩展和缩 ...

  2. MyBatis3.2从入门到精通第一章

    第一章一.引言mybatis是一个持久层框架,是apache下的顶级项目.mybatis托管到goolecode下,再后来托管到github下.(百度百科有解释)二.概述mybatis让程序将主要精力 ...

  3. java日志组件介绍(common-logging,log4j,slf4j,logback )

    转自:http://www.blogjava.net/daiyongzhi/archive/2014/04/13/412364.html common-logging是apache提供的一个通用的日志 ...

  4. SSH整合

    首先,SSH不是一个框架,而是多个框架(struts+spring+hibernate)的集成,是目前较流行的一种Web应用程序开源集成框架,用于构建灵活.易于扩展的多层Web应用程序. 集成SSH框 ...

  5. Web API Get Started First

    注:此博客是自官网修剪而来,博主IT新手 一.web api与web service的不同: web api是基于Http协议,而web service是基于soap协议.两协议的区别小子看了很多,但 ...

  6. C++中const的全面总结

    C++中的const关键字的用法非常灵活,而使用const将大大改善程序的健壮性,本人根据各方面查到的资料进行总结如下,期望对朋友们有所帮助. Const 是C++中常用的类型修饰符,常类型是指使用类 ...

  7. 使用 WPF+ ASP.NET MVC 开发 在线客服系统 (一)

    近段时间利用业余时间开发了一套在线客服系统,期间遇到过大大小小不少问题,好在都一一解决,最终效果也还可以,打算写一个系列的文章把开发过程详细的记录下来. 希望能够和更多的开发人员互相交流学习,也希望有 ...

  8. C#中通过反射方法获取控件类型和名称

    这个方法是简单的也是神奇的. 有木有想过,将自己项目中的所有类型,包括自定义类型的命名空间和名称全部获取出来? 有木有想过,有一种简便的方法可以自动化管理项目中的控件和窗体? 有木有想过... 首先, ...

  9. Java日志框架:SLF4J,Common-Logging,Log4J,Logback说明

    Log4j  Apache的一个开放源代码项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台.文件.GUI组件.甚至是套接口服务 器.NT的事件记录器.UNIX Syslog守护进程等 ...

随机推荐

  1. less使用ch1--认识语法

    @charset "utf-8"; //注释------------------------------ /*我是可以被编译出来的*/ //不能被编译出来 //变量-------- ...

  2. IDL Interpolate()函数

    Interpolate()函数:可以将数组调整到同维任意大小,并支持任意定位差值.调用格式为 Interpolate(数组,X[,Y[,Z]][,关键字]) 例子: IDL> arr=findg ...

  3. DataGrid 如何得到DataGridRow 和DataGridCell 对象

    第一行为不可编辑  DataGridRow row = (DataGridRow)dataGrid1.ItemContainerGenerator.ContainerFromIndex(0);     ...

  4. 深入浅出WPF——附加事件(Attached Event)

    3.3 事件也附加——深入浅出附加事件 WPF事件系统中还有一种事件被称为附加事件(Attached Event),简言之,它就是路由事件.“那为什么还要起个新名字呢?”你可能会问. “身无彩凤双飞翼 ...

  5. Admob - Google广告接入

    前言 现在免费小游戏及应用的主要收入渠道就是通过接入广告.而Google的Admob适用于全球范围内的广告接入,文档方面及后台管理也是较为完善,接入还是比较便捷的. 不过Google目前还在墙外,虽然 ...

  6. webview的javascript与Native code交互

    http://my.oschina.net/u/1376187/blog/172296 项目中使用了webview显示网页,其中需要网页和native方法有交互,搜索到一篇文章,转发分享一下: === ...

  7. 详解变量声明加 var 和不加 var 的区别

    在全局作用域中声明变量加 var 关键字和不加 var ,js 引擎都会将这个变量声明为全局变量,在实际运行时,两种声明方式的变量的行为也是几乎一致的.但是在全局作用域下是否声明一个变量的 时候加va ...

  8. 查漏补缺系列之dapper初体验

    什么是dapper 在维护一些较老的项目的时候,往往我们会用很多sql那么这个时候我们要考虑优化这些项目的时候,我们就可以使用dapper dapper 是一款轻量级的ORM框架,它的优势很多轻量级, ...

  9. java实现在线文档浏览

    目前发现两种方法: 1.http://dxx23.iteye.com/blog/1947083 FlexPaper+SWFTools ,java实现在线文档浏览 2.webOffice

  10. LeetCode 380. Insert Delete GetRandom O(1) (插入删除和获得随机数 常数时间)

    Design a data structure that supports all following operations in average O(1) time. insert(val): In ...