Stimulsoft_Report纯代码实现数据绑定

根据穿的参数动态绑定显示报表,涉及多表查询。

一、前台代码:

[code]  <%@ Page Title=""
Language="C#"
MasterPageFile="~/WebMaster/OpenWin_FixHead.Master"
AutoEventWireup="true" CodeBehind="ProjectReport.aspx.cs"
Inherits="HuaiNanSys.Page.ProjectInformation.ProjectReport" %>

<%@
register Namespace="Stimulsoft.Report.Web"
TagPrefix="cc1"  
Assembly="Stimulsoft.Report.Web"%>

<%@
register Namespace="Stimulsoft.Report.Web" TagPrefix="cc2"
Assembly="Stimulsoft.Report.WebDesign"%>

<asp:Content
ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1"
runat="server">

</asp:Content>

<asp:Content
ID="Content2" ContentPlaceHolderID="ContentPlaceHolder2"
runat="server">

<cc1:StiWebViewer
ID="StiWebViewer1" runat="server" GlobalizationFile="/Content/page/reports/Localization/zh-CHS.xml"
ShowDesignButton="False"
onreportdesign="StiWebViewer1_ReportDesign"
Theme="Office2010" BackColor="#e8e8e8"/>

<cc2:StiWebDesigner
ID="StiWebDesigner1" runat="server"
LocalizationDirectory="/Content/page/reports/Localization/"
Localization="zh-CHS" 
onsavereport="StiWebDesigner1_SaveReport" />

</asp:Content>

二、后台代码:

using Stimulsoft.Report;

using Stimulsoft.Report.Components;

using System;

using System.Collections.Generic;

using System.Data;

using System.Linq;

using System.Web;

using System.Web.UI;

using System.Web.UI.WebControls;

namespace Page.ProjectInformation

{

public partial class ProjectReport :
BaseContentPage_UsingMaster

{

protected void Page_Load(object sender, EventArgs
e)

{

string RowGuid = Request.QueryString[“RowGuid”];

[code]        ShowReport(RowGuid);

}

public void ShowReport(string rowGuid)

{

DataSet ds = new DataSet();

MisGuidRow mis = new
MisGuidRow("View_ProjectInformation");

DataView dv = mis.Select("*",
"RowGuid='" + rowGuid + "'");

ds.Tables.Add(dv.ToTable());

string filepath =
Server.MapPath("~/Report.mrt");

StiReport stireport = new StiReport();

stireport.Load(filepath);

stireport.RegData("datasource", ds);

DataTable dt = ds.Tables[0];

StiDataBand D =
stireport.Pages[0].Components["DataBand1"] as StiDataBand;

StiText ProjectName =
D.Components["ProjectName"] as StiText;

ProjectName.Text =
Convert.ToString(dt.Rows[0]["ProjectName"]);

stireport.Compile();

StiWebViewer1.Report = stireport;

}

protected void
StiWebViewer1_ReportDesign(object sender,
Stimulsoft.Report.Web.StiReportDesignEventArgs e)

{

string filepath =
Server.MapPath("~/Report.mrt");

StiReport stireport = new StiReport();

stireport.Load(filepath);

stireport.Compile();

StiWebDesigner1.Design(stireport);

}

protected void
StiWebDesigner1_SaveReport(object sender,
Stimulsoft.Report.Web.StiWebDesigner.StiSaveReportEventArgs e)

{

var report = e.Report;

string filepath =
Server.MapPath("~/Report.mrt");

report.Save(filepath);

}

}

}

三、引用dll

四、在designer.exe中设计报表,只需要画出样式,不需要连接和绑定数据源

报表树结构如下:用的是text

Stimulsoft_Report纯代码实现数据绑定的更多相关文章

  1. 使用Java纯代码实现MySQL的连接

      建立数据库 1. 点击连接-->MySQL: 输入连接名 . 主机名/IP地址 .端口 .用户名.密码(没有密码就省略),然后点击确定,建立的表格是灰色表示关闭状态,双击开启 2. 重新创建 ...

  2. swift 之 纯代码创建 cell

    初学swift 但是网上只有很多swift用xib创建的cell,就算是有也不是我想要的.今天自己弄了一个不用xib纯代码写的,来上代码 博客地址: https://github.com/liguol ...

  3. Masonry -- 使用纯代码进行iOS应用的autolayout自适应布局

    简介 简化iOS应用使用纯代码机型自适应布局的工作,使用一种简洁高效的语法替代NSLayoutConstraints. 项目主页: Masonry 最新示例: 点击下载 项目简议: 如果再看到关于纯代 ...

  4. ios开发UI篇—使用纯代码自定义UItableviewcell实现一个简单的微博界面布局

    本文转自 :http://www.cnblogs.com/wendingding/p/3761730.html ios开发UI篇—使用纯代码自定义UItableviewcell实现一个简单的微博界面布 ...

  5. iOS开发小技巧--纯代码自定义cell

    纯代码自定义cell 自定义cell的步骤(每个cell的高度不一样,每个cell里面显示的内容也不一样) 1.新建一个继承自UITableViewCell的子类 2.在initWithStyle:方 ...

  6. ios - 纯代码创建collectionView

    开始考虑好一点点时间,因为一般的都是用xib,或者storyboard来写的.这次用纯代码...废话较多请看 首先把storyboard干掉,工程里面的main干掉 由于干掉了storyboard则启 ...

  7. 【iOS开发】多屏尺的自动适配 AutoLayout (纯代码方式)

    关于AutoLayout,最早从iOS6开始引入使用.   主要功能是使用约束,对视图进行相对布局,以适应不同屏尺的变换.   网上大量的资料都在介绍xib和storyboard,如何使用AutoLa ...

  8. IOS之UI--小实例项目--添加商品和商品名(纯代码终结版)

    前言:这个小实例项目是完完全全以MJ视频传授的优化方案一步一个思路从零开始敲出代码的,而且每一步都有思路,都有逻辑所以然.敲代码讲究思路,我个人不建议记忆太多东西,反正我记性很差的. 小贴士:文章末尾 ...

  9. iOS高仿app源码:纯代码打造高仿优质《内涵段子》

    iOS高仿app源码:纯代码打造高仿优质<内涵段子>收藏下来 字数1950 阅读4999 评论173 喜欢133 Github 地址 https://github.com/Charlesy ...

随机推荐

  1. xml解析用正则解决没有标签的文本的解析不出异常

    如  <q>sasas<w>eqwe</w>ddas</q> package com.people.xmlToSql; import java.io.F ...

  2. APP运营怎么利用留存率等数据分析用户减少的原因?

    APP运营怎么利用留存率等数据分析用户减少的原因? 数据分析最核心的方法是作比较,因为绝对的数值在大多数场合下是没有意义的,通过在不同维度之间做数据的比较分析,能帮助开发者找到数据变化的原因.举一个典 ...

  3. 使用Xftp连接Centos 6.6服务器详细图文教程

    这篇文章主要介绍了使用Xftp连接Centos 6.6服务器详细图文教程,本文用详细的图文说明讲解了连接服务器和操作服务器的步骤,适合新手,需要的朋友可以参考下 一,打开Xftp软件(下载地址:Xma ...

  4. Mac版-python环境配置(二):编译器pycharm下载安装

    简介 PyCharm是一种Python IDE,带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具,比如调试.语法高亮.Project管理.代码跳转.智能提示.自动完成.单元测试.版本 ...

  5. 嵌入式C语言3.3 关键字---逻辑结构

    1. if  else if(条件表达式){ ****;} else {xxxxxx;} 2. switch    case    default 3. do   while   for 4. con ...

  6. 使用 nm-applet 连接 WPA2-Enterprise wireless

    安装之后,使用 nm-connetion-editor 编辑连接信息: 之使 systemctl retart NetworkManager: 之后使用 nmcli conn up $CONNECT_ ...

  7. leetcode.双指针.88合并两个有序数组-Java

    1. 具体题目 给定两个有序整数数组 nums1 和 nums2,将 nums2 合并到 nums1 中,使得 num1 成为一个有序数组. 说明: 初始化 nums1 和 nums2 的元素数量分别 ...

  8. vue - blog开发学7

    将基本的项目部署到linux上(前后台只是实现了基本的功能,本次只是记录一些基本的开发流程,完善,等后续) 1.linux环境准备(我用的是阿里云服务器) ①jre.mysql,Nginx基本上这些就 ...

  9. 别再说你不会ElasticSearch调优了,都给你整理好了

    ES 发布时带有的默认值,可为 ES 的开箱即用带来很好的体验.全文搜索.高亮.聚合.索引文档 等功能无需用户修改即可使用,当你更清楚的知道你想如何使用 ES 后,你可以作很多的优化以提高你的用例的性 ...

  10. 微信小程序中new Date()转换时间时间格式时IOS不兼容的问题

    本周写小程序,遇到的一个bug,在chrome上显示得好好的时间,一到Safari/iPhone 就报错 “invalid date”,时间格式为“2019.06.06 13:12:49”,然后利用n ...