首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ Builder >

Ring_Pt(已是黄昏独自愁), 请进来看看!该如何处理

2012-03-04 
Ring_Pt(已是黄昏独自愁), 请进来看看!上次自动打印高度问题在您帮助下已经解决。感谢!还有个问题,想再次麻

Ring_Pt(已是黄昏独自愁), 请进来看看!
上次自动打印高度问题在您帮助下已经解决。感谢!
还有个问题,想再次麻烦你     和     其他高人!
在使用DBCross打印一个数据库时,我只能打印成如下情形:
_____________________________________
|         |     电           |         3612       |     度           |  
|生产|_________|___________|_________|
|         |     水           |         860         |     吨           |
|____|_________|___________|_________|
|         |     电           |         329         |     度           |                                                                           |后勤|_________|___________|_________|                      
|         |     水           |         90           |     吨           |  
|____|_________|___________|_________|    

1\我想加个表头栏目, "部门 " "类别 " "数量 " "单位 ",不知如何加;
2\我想在 "电 "或 "水 "后再增加一栏(与该数据库无关),也不知如何加.
3\我目前只能打印一列,太浪费纸,也不好看看,能否打印多栏呢?比如,把 "后勤 "放到 "生产 "后面,其他部门也是这样一行打两栏,依次打下去?

4\好象fastreport3.24有BUG,无法打印多个[[[[[字符.报错.

[解决办法]
路过
看不懂问题
搬个沙发
看环环的解答
[解决办法]
老蔡 你还活着~~~
我们一般不用DBCross,是把数据库里的资料读出来放在一个StringGrid里 然后再写报表的
从StringGrid里汇出报表有两种方法
一种是用cross(Tfrxcrossview):
在TfrxMasterData里放一个cross
for (int i = 1; i < grid-> RowCount; i++)
{
for (int j = 0; j < grid-> ColCount; j++)
{
cross-> AddValue( &Variant(int(i)), 1, &Variant(String(tmp_grid[j])), 1, &Variant(String(grid-> Cells[j][i])), 1);
}
}
用类似这种方法来塞值

还有一种方法就是直接先在报表里用memo把每列的列头画好,在TfrxDetailData里放对应数量的memo,然后在beforeprint和getvalue的时候用代码来控制

热点排行