depand 发表于 2016-7-20 14:01:33

ActiveReports.Design.Designer

本帖最后由 Lenka.Guo 于 2016-7-20 14:16 编辑

在3/6可以有,DataDynamics.ActiveReports.Design.Designer.Report.DataSource
但 9.0里找不到对应的Datasource

Lenka.Guo 发表于 2016-7-20 14:15:50

您好,这个在AR9.0 被更换了。
您是想获取当前设计器的报表的数据源,是吗?
您可以通过,一个代码转换来获取:

PageReport report = new PageReport();
            report = designer.Report as PageReport;
            string temp = report.Report.DataSources.ConnectionProperties.ConnectString;

depand 发表于 2016-7-20 14:29:29

我原来3/6是这样给值的
DataDynamics.ActiveReports.DataSources.SqlDBDataSource sds = new DataDynamics.ActiveReports.DataSources.SqlDBDataSource();
sds.ConnectionString = GetConnString();
sds.SQL = 字符串;
DataDynamics.ActiveReports.Design.Designer.Report.DataSource =sds;
如果用了9.0后,这里怎么写? 

depand 发表于 2016-7-20 14:49:38

我是想把数据源赋给 designer

Lenka.Guo 发表于 2016-7-20 14:50:00

depand 发表于 2016-7-20 14:29
我原来3/6是这样给值的
DataDynamics.ActiveReports.DataSources.SqlDBDataSource sds = new DataDynamic ...

因为AR9提供三种报表类型,RDL报表,页面报表,区域报表,不同的报表添加使用的接口不一样。
我给您发送一个示例,您可以查看里面的LayoutBuilder.cs文件,里面有三种报表的数据绑定,您适当修改下ConnectString 和 DataProvider:


// create DataSource for the report
            DataSource dataSource = new DataSource();
            dataSource.Name = "DataSource1";
            dataSource.ConnectionProperties.DataProvider = "DATASET";
            dataSource.ConnectionProperties.ConnectString = "";

            //Create DataSet with specified query and load database fields to the DataSet
            DataSet dataSet = new DataSet();
            Query query = new Query();
            dataSet.Name = "DataSet1";
            query.DataSourceName = "DataSource1";
            query.CommandType = QueryCommandType.Text;
            query.CommandText = "";
            dataSet.Query = query;
            //获取主表字段
            Field field = new Field("公司名称", "C_O.公司名称", null);
                dataSet.Fields.Add(field);
            
            //create report definition with specified DataSet and DataSource
            report.Report.DataSources.Add(dataSource);
            report.Report.DataSets.Add(dataSet);
            return report;

页: [1]
查看完整版本: ActiveReports.Design.Designer