ActiveReports.Design.Designer
本帖最后由 Lenka.Guo 于 2016-7-20 14:16 编辑在3/6可以有,DataDynamics.ActiveReports.Design.Designer.Report.DataSource
但 9.0里找不到对应的Datasource
您好,这个在AR9.0 被更换了。
您是想获取当前设计器的报表的数据源,是吗?
您可以通过,一个代码转换来获取:
PageReport report = new PageReport();
report = designer.Report as PageReport;
string temp = report.Report.DataSources.ConnectionProperties.ConnectString;
我原来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后,这里怎么写?
我是想把数据源赋给 designer 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]