找回密码
 立即注册

QQ登录

只需一步,快速开始

防水的泡泡

注册会员

5

主题

22

帖子

108

积分

注册会员

积分
108

微信认证勋章

最新发帖
防水的泡泡
注册会员   /  发表于:2016-8-24 10:19  /   查看:3527  /  回复:3
本帖最后由 防水的泡泡 于 2016-8-24 11:06 编辑

如题

  1. <DataSources>
  2.                 <DataSource Name="Best">
  3.                         <ConnectionProperties>
  4. <ConnectString>initial catalog=Best;password=landa;user id=sa;data source=192.168.0.111\sql2008;</ConnectString>
  5.                                 <DataProvider>SQL</DataProvider>
  6.                         </ConnectionProperties>
  7.                 </DataSource>
  8.         </DataSources>
复制代码

3 个回复

倒序浏览
Lenka.Guo讲师达人认证 悬赏达人认证
超级版主   /  发表于:2016-8-24 10:44:18
推荐
是要通过后台代码切换数据库连接,在生成报表对象时,修改DataSources属性;

            DataSource dataSource = new DataSource();
            dataSource.Name = "Reels Database";
             dataSource.ConnectionProperties.DataProvider = "OLEDB";
            dataSource.ConnectionProperties.ConnectString = ExpressionInfo.FromString(“initial catalog=Best;password=landa;user id=sa;data source=192.168.0.111\sql2008”);

            DataSet dataSet = new DataSet();
            Query query = new Query();
            dataSet.Name = "Sample DataSet";
            query.DataSourceName = "Reels Database";

            query.CommandType = QueryCommandType.Text;
            query.CommandText = ExpressionInfo.FromString(Constants.cmdText);
            dataSet.Query = query;
            String[] fieldsList = new String[] { "MoviedID", "Title", "YearReleased", "MPAA" };
            foreach (string fieldName in fieldsList)
            {
                Field field = new Field(fieldName, fieldName, null);
                dataSet.Fields.Add(field);
            }

            report.Report.DataSources.Add(dataSource);
            report.Report.DataSets.Add(dataSet);

回复 使用道具 举报
防水的泡泡
注册会员   /  发表于:2016-8-24 11:00:52
板凳
Lenka.Guo 发表于 2016-8-24 10:44
是要通过后台代码切换数据库连接,在生成报表对象时,修改DataSources属性;

            DataSource da ...

  1.     /// <summary>
  2.     /// ActiveReportService 的摘要说明
  3.     /// </summary>
  4.     [WebService(Namespace = "http://tempuri.org/")]
  5.     [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
  6.     [System.ComponentModel.ToolboxItem(false)]
  7.     // 若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消注释以下行。
  8.     [System.Web.Script.Services.ScriptService]
  9.     public class ActiveReportService : GrapeCity.ActiveReports.Web.ReportService
  10.     {

  11.         protected override object OnCreateReportHandler(string reportPath)
  12.         {
  13.             var instance = base.OnCreateReportHandler(reportPath);
  14.             var pageReport = instance as PageReport;
  15.             if (pageReport != null)
  16.             {
  17.                 pageReport.Document.LocateDataSource += Document_LocateDataSource;
  18.             }
  19.             return instance;
  20.         }



  21.         void Document_LocateDataSource(object sender, LocateDataSourceEventArgs args)
  22.         {

  23.         }
  24.     }
复制代码
回复 使用道具 举报
Lenka.Guo讲师达人认证 悬赏达人认证
超级版主   /  发表于:2016-8-24 11:16:03
地板
如电话沟通,通过   definition1.Report.DataSources[0]来修改连接字符串
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部