问题描述:
Stimulsoft Reports.Web数据源的数据表均是临时的,每次开启报表都会去查不同的数据表,不同数据表的结构是一致的,客户想在report.Load(CMSR01.mrt);前将mrt里面的数据表换成即时生成的数据表名称。请问怎么在程序里修改现有mrt文件的数据源?
问题解答:
//首先清除之前的数据源
report.Dictionary.Clear();
//动态添加数据源
StiDataColumn column;
StiDataTableSource DTS = new StiDataTableSource(DataSource, DataSourceName_1);
DTS.Alias = "报价单";
DTS.NameInSource = DataSource + "." + DataSourceName_1;
column = new StiDataColumn("ID", Type.GetType("System.String"));
column.Alias = "主键";
DTS.Columns.Add(column);
column = new StiDataColumn("QuoteID", Type.GetType("System.String"));
column.Alias = "订单ID";
DTS.Columns.Add(column);
report.Dictionary.DataSources.Add(DTS);