水晶报表-根据DataSet动态生成报表字段.做过的请进
用DataSet做数据原。DataSet对应的数据表是任意的。问:如何根据这个动态的DataSet来生成水晶报表?
我用private TextObject GetTextObject(int reportObjectName)
{
TextObject text;
text = (TextObject)cl.ReportDefinition.ReportObjects[reportObjectName];
if (text != null) return text;
else return null;
}来指定过。
水晶报表中的列名是变了。但没有内容显示。可以动态增加,删除水晶报表的显示字段吗
主代码如下:
BestDataUI.bestADO ado = new BestDataUI.bestADO("Oracle");
ado.ExecOracleSQLForSql("select * from aaa",null,null);
DataSet ds = ado.reDataSet;
ds.Tables[0].TableName="aaa";
TextObject MyData=this.GetTextObject(0);
MyData.Text= "XM";
MyData=this.GetTextObject(1);
MyData.Text= "XB";
//cl.DataDefinition.FormulaFields["XM"].Text = "{XM}";
//cl.DataDefinition.FormulaFields["XB"].Text = "{RYDM}";
cl.SetDataSource(ds);
rptVew.ReportSource = cl;
rptVew.DataBind();
rptVew.DisplayPage = true;
}
private TextObject GetTextObject(int reportObjectName)
{
TextObject text;
text = (TextObject)cl.ReportDefinition.ReportObjects[reportObjectName];
if (text != null) return text;
else return null;