找回密码
 立即注册

QQ登录

只需一步,快速开始

难啃的骨头

注册会员

11

主题

87

帖子

162

积分

注册会员

积分
162

活字格认证

难啃的骨头
注册会员   /  发表于:2015-4-23 08:44  /   查看:9539  /  回复:11
我想在页面报表的后台添加数据源,可是按照提供的例子出不了,能不能给一个列子说明一下,谢谢

11 个回复

倒序浏览
frank.zhang
社区贡献组   /  发表于:2015-4-23 13:29:00
沙发
您好,
请问您是根据哪个例子修改的?您说例子出不来,意思是报错吗?如果报错,报了什么错误?
回复 使用道具 举报
难啃的骨头
注册会员   /  发表于:2015-4-23 14:15:00
板凳
回复 2楼frank.zhang的帖子

后台代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
namespace WebApplication1
{
    public partial class 运行时加载数据2 : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            setReport();
        }
        protected void runtime_LocateDataSource(object sender, GrapeCity.ActiveReports.LocateDataSourceEventArgs args)
        {
            if (args.DataSourceName == "DataSource1")
            {
                if (args.DataSetName == "DataSet1")
                {
                    args.Data = GetDataSource();
                }
            }
        }
        private DataTable GetDataSource()
        {

            DataTable dt = new DataTable();
            dt.Columns.Add("name");
            dt.Rows.Add("苹果");
            dt.Rows.Add("香蕉");
            dt.Rows.Add("菠萝");
            return dt;
        }

        private void setReport()
        {
            string url = "setWebDataReport.rdlx";
            GrapeCity.ActiveReports.PageReport report1 = null;
            report1 = new GrapeCity.ActiveReports.PageReport(new System.IO.FileInfo(Server.MapPath("报表/" + url)));
            GrapeCity.ActiveReports.Document.PageDocument runtime = new GrapeCity.ActiveReports.Document.PageDocument(report1);
            runtime.LocateDataSource += new GrapeCity.ActiveReports.LocateDataSourceEventHandler(runtime_LocateDataSource);
            WebViewer1.Report = runtime;
        }
    }
}

前台代码:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="运行时加载数据2.aspx.cs" Inherits="WebApplication1.运行时加载数据2" %>

<%@ Register Assembly="GrapeCity.ActiveReports.Web.v9, Version=9.0.1678.0, Culture=neutral, PublicKeyToken=096a9279a87304f1"
    Namespace="GrapeCity.ActiveReports.Web" TagPrefix="ActiveReportsWeb" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <ActiveReportsWeb:WebViewer ID="WebViewer1" runat="server" Height="100%" Width="100%"
            ViewerType="FlashViewer">
        </ActiveReportsWeb:WebViewer>
    </div>
    </form>
</body>
</html>
这样写的不报错,但是前台数据集加载不上数据,帮忙看看是什么原因
回复 使用道具 举报
frank.zhang
社区贡献组   /  发表于:2015-4-23 16:50:00
地板
您好,
选定WebViewer1后,需要绑定事件才可以进入这个事件。


本帖子中包含更多资源

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

x

评分

参与人数 1满意度 +5 收起 理由
难啃的骨头 + 5 已经解决谢谢

查看全部评分

回复 使用道具 举报
难啃的骨头
注册会员   /  发表于:2015-4-25 08:48:00
5#
回复 4楼frank.zhang的帖子

那后台那块是怎么给加载动态数据的呢
回复 使用道具 举报
frank.zhang
社区贡献组   /  发表于:2015-4-27 09:47:00
6#
您好,
在您上文所提到的代码中,您可以给runtime_LocateDataSource这个方法打断点。看是否触发了这个方法。
在以下代码中进行了数据源绑定
  1. if (args.DataSetName == &quot;DataSet1&quot;)
  2.                 {
  3.                     args.Data = GetDataSource();
  4.                 }
复制代码
回复 使用道具 举报
难啃的骨头
注册会员   /  发表于:2015-4-27 10:00:00
7#
回复 6楼frank.zhang的帖子

已自己解决,谢了
回复 使用道具 举报
frank.zhang
社区贡献组   /  发表于:2015-4-27 10:12:00
8#
为了给你提供更优质的服务,请对本次服务进行评分。我们会认真对待你提出的宝贵意见,谢谢
回复 使用道具 举报
fengyu77
银牌会员   /  发表于:2015-4-30 15:50:00
9#
回复 6楼frank.zhang的帖子

你好,我在上述方法中设置了断点是,但并未触发是怎么一回事
回复 使用道具 举报
frank.zhang
社区贡献组   /  发表于:2015-4-30 16:07:00
10#
您好,
web的数据源加载是在下图的位置设置的。


本帖子中包含更多资源

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

x
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部