水晶报表问题-用C#获得报表页眉内容?(难难。。。)

yanyl2001 2010-11-25 04:52:42
水晶报表问题-用C#获得报表页眉内容

水晶报表我用得不是很多,只是会制作。和对。net熟悉,我想了解在程序中读取一个水晶报表文件,我只要页眉的内容能不



能可以控制。水晶报表的rpt文件都是加密的吧,希望高手给点提示。
...全文
101 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhangzhen_927116 2010-11-26
  • 打赏
  • 举报
回复
都是高手啊
Teng_s2000 2010-11-26
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 babyt 的回复:]
C# code

protected void Page_Load(object sender, EventArgs e)
{

ReportDocument rd = new ReportDocument();
FieldHeadingObject fho;
rd.Load(Server.MapPath("CrystalRep……
[/Quote]
UP~~
阿泰 2010-11-26
  • 打赏
  • 举报
回复

protected void Page_Load(object sender, EventArgs e)
{

ReportDocument rd = new ReportDocument();
FieldHeadingObject fho;
rd.Load(Server.MapPath("CrystalReport.rpt"));
//Section2为默认页眉节名称,根据报表设计可能有所不同
Section headerSection = rd.ReportDefinition.Sections["Section2"];
for (int i = 0; i <= headerSection.ReportObjects.Count-1; i++)
{
//控件名称
Response.Write(headerSection.ReportObjects[i].Name +",");
//控件类型
Response.Write(headerSection.ReportObjects[i].Kind.ToString() +",");
//此处只处理字段标题字段,其余类似
if (headerSection.ReportObjects[i].Kind.ToString() == "FieldHeadingObject")
{
fho = (FieldHeadingObject)headerSection.ReportObjects[i];
Response.Write("标题字段内容:" + fho.Text + "<br/>");
}
else
Response.Write("非标题字段X坐标:" + headerSection.ReportObjects[i].Left + "<br/>");
}


}
yanyl2001 2010-11-26
  • 打赏
  • 举报
回复
哦,我是说的意思是获得rpt中也眉里的表头,比如就 a,b两个列,就是2个方框一个里写a,一个里写b,还包括各那些格线信息
阿泰 2010-11-25
  • 打赏
  • 举报
回复
直接取解析rpt文件是不行的,如阿林所说,可以遍历节中的对象来得到。
但是还是要看你的页眉里放了什么东西,而你又要得到什么东西

毕竟其实页眉里的东西,理论上讲在运行之前你基本就已经知道了。
东莞寻香苑 2010-11-25
  • 打赏
  • 举报
回复
应该可以吧,每个节都有一个SECTION模型相对应,可以循环得到每个对象及其值

4,820

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 图表区
社区管理员
  • 图表区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧