首页 新闻 赞助 找找看

水晶报表列不固定

0
悬赏园豆:10 [已解决问题] 解决于 2011-04-06 10:47

列不固定,列是从后台读出来的,(当前思路:在rpt中拉多个公式字段,超过需要绑定列的字段)

View Code
private ReportDocument myReport =new ReportDocument();

void Bind_load()
{
string rpt_Path = Server.MapPath("Rpt/Active_Column.rpt");
myReport.Load(rpt_Path);
StringBuilder strSql
=new StringBuilder();
strSql.Append(
"select * from Class");
DataTable dt_head
= SqlHelper.ExecuteDataTable(SqlHelper.ConnectionString, CommandType.Text, strSql.ToString(), null);
dt_head.TableName
="Test";
if (dt_head.Rows.Count >0)
{
for (int i =0; i < dt_head.Rows.Count; i++)
{
((TextObject)myReport.ReportDefinition.ReportObjects[i]).Text
= dt_head.Rows[i]["_class_name"].ToString();
//myReport.ReportDefinition.ReportObjects[i].Left = 15 * (i+2); //排版
myReport.ReportDefinition.ReportObjects[i].ObjectFormat.EnableCanGrow =true;//字段字适应

strSql.Remove(
0, strSql.Length);
strSql.AppendFormat(
"select * from Student where _class_id='{0}'", dt_head.Rows[i]["_class_id"].ToString());
DataTable dt_detail
= SqlHelper.ExecuteDataTable(SqlHelper.ConnectionString, CommandType.Text, strSql.ToString(), null);
if (dt_detail.Rows.Count >0)
{
for (int j =0; j < dt_detail.Rows.Count; j++)
{
myReport.DataDefinition.FormulaFields[i].Text
="'"+ dt_detail.Rows[j]["_student_name"].ToString() +"'";

}
}
}
}
Crys_View1.ReportSource
= myReport;
Crys_View1.RefreshReport();
}

详细资料中填充的是公式字段,页眉放的是text,现在页眉能动态显示列了,可是 他不会

 myReport.DataDefinition.FormulaFields[i].Text = "'" + dt_detail.Rows[j]["_student_name"].ToString() + "'";

自动循环,求代码...

like%'远远'%的主页 like%'远远'% | 小虾三级 | 园豆:635
提问于:2011-03-17 23:09
< >
分享
最佳答案
0

看看交叉表行不行。

收获园豆:10
清海扬波 | 小虾三级 |园豆:825 | 2011-03-18 14:33
不行的
like%'远远'% | 园豆:635 (小虾三级) | 2011-03-25 15:33
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册