找回密码
 立即注册

QQ登录

只需一步,快速开始

fsr

注册会员

12

主题

26

帖子

172

积分

注册会员

积分
172

微信认证勋章

fsr
注册会员   /  发表于:2016-5-12 16:23  /   查看:3470  /  回复:7
本帖最后由 Lenka.Guo 于 2016-5-12 17:16 编辑

asp.net ActiveReportsWeb如何动态绑定数据(后台),有一个dataset数据源如何绑定数据

7 个回复

倒序浏览
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2016-5-12 16:34:16
沙发
这有一篇相似功能的实现介绍文章,文章是按照 7.0 版本写的,但是在 v10中也是一样的。主要是通过 LocateDataSource  事件绑定数据源。

http://blog.gcpowertools.com.cn/ ... ime-DataSource.aspx
回复 使用道具 举报
fsr
注册会员   /  发表于:2016-5-12 16:58:29
板凳
我这样写对吗?
  protected void Page_Load(object sender, EventArgs e)
        {

            if (IsPostBack)
            {
                return;
            }

            GrapeCity.ActiveReports.PageReport report1 = new GrapeCity.ActiveReports.PageReport(new System.IO.FileInfo(Server.MapPath("PageReport1.rdlx")));
            report1.Document.LocateDataSource += new GrapeCity.ActiveReports.LocateDataSourceEventHandler(WebViewer1_LocateDataSource1);
            WebViewer1.PdfExportOptions.FitWindow = false;
            WebViewer1.PdfExportOptions.DisplayMode = GrapeCity.ActiveReports.Export.Pdf.Section.DisplayMode.Outlines;
            WebViewer1.Report = report1;

        }

protected void WebViewer1_LocateDataSource1(object sender, GrapeCity.ActiveReports.LocateDataSourceEventArgs args)
         {
             if (args.DataSourceName == "DataSource1")
             {

                 if (args.DataSetName == "DataSet1")
                 {
                     string strCom = " select top(20)id,borrowId,borrowTitle,borrowMoney,dateline,maxRate,listStatus  from tb_borrowInfo order by id asc";
                     //创建一个 DataSet对象
                     System.Data.DataSet ds = null;
                     myConn.Open();
                     SqlDataAdapter myCommand = new SqlDataAdapter(strCom, myConn);
                     myCommand.Fill(ds, "tb_borrowInfo");
                     myConn.Close();
                     args.Data = ds;
                 }
             }
         }
回复 使用道具 举报
Lenka.Guo讲师达人认证 悬赏达人认证
超级版主   /  发表于:2016-5-12 17:13:55
地板
本帖最后由 Lenka.Guo 于 2016-5-12 17:23 编辑
fsr 发表于 2016-5-12 16:58
我这样写对吗?
  protected void Page_Load(object sender, EventArgs e)
        {

Page_Load 方法没问题,WebViewer1_LocateDataSource1 中需要args.data 接收的数据是DataTable ,所以必须返回DataTable。可参考以下代码或参考文档:http://www.gcpowertools.com.cn/d ... !Documents/_225.htm  
回复 使用道具 举报
fsr
注册会员   /  发表于:2016-5-12 17:22:16
5#

,这是报的错误,难道不可以用SqlConnection连接数据库吗为什么要OleDbConnection ?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
Lenka.Guo讲师达人认证 悬赏达人认证
超级版主   /  发表于:2016-5-12 17:40:35
7#
fsr 发表于 2016-5-12 17:22
,这是报的错误,难道不可以用SqlConnection连接数据库吗为什么要OleDbConnection ?

用SQL connection 能够连接SQL 数据库,就需要将其他连接函数换成SQLClient 相关的,代码如下:
  1.    string myConn = @"Provider=sqloledb; password=123456;data source=30.32.2.88;initial catalog=NWind_CHS;user id=sa;";
  2.            
  3.             string str = " select top(20)id,borrowId,borrowTitle,borrowMoney,dateline,maxRate,listStatus from tb_borrowInfo order by id asc";
  4.             System.Data.SqlClient.SqlConnection conn1 = new System.Data.SqlClient.SqlConnection(myConn);
  5.          
  6.             //创建DataTable   
  7.             DataTable datatable = new DataTable();            
  8.             System.Data.SqlClient.SqlCommand cmdd = new System.Data.SqlClient.SqlCommand(str, conn1);
  9.             System.Data.SqlClient.SqlDataAdapter sqladapter = new System.Data.SqlClient.SqlDataAdapter(cmdd);
  10.             sqladapter.Fill(datatable);
  11.             args.Data = datatable;
复制代码




回复 使用道具 举报
fsr
注册会员   /  发表于:2016-5-13 10:12:29
8#
昨天我的问题是dt.Columns后面没有Add方法(datatable出了引用using System.Data;之外),必须是这样写才可以System.Data.DataTable,这样就有Add()
回复 使用道具 举报
Lenka.Guo讲师达人认证 悬赏达人认证
超级版主   /  发表于:2016-5-13 11:11:04
9#
fsr 发表于 2016-5-13 10:12
昨天我的问题是dt.Columns后面没有Add方法(datatable出了引用using System.Data;之外),必须是这样写才可 ...

解决了就好
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部