c++builder中用ListView做报表QuickRep的数据源,怎么做

januserr 2012-07-16 04:06:54
如题,我现在就想把ListView中的数据,作为一定的格式,打印出来!

请大神们帮忙看一下。或给个例子也行。官方的那些例子都是绑定的Cbuilder自带的数据库文件,跟我要实现的不太一样,我很
难移植过来,

急啊。
...全文
211 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
ccrun.com 2012-07-19
  • 打赏
  • 举报
回复
我来了!!!

根据ListView中的内容,创建一个内存表,并连接到数据源。
#include <dbclient.hpp>

int __fastcall CreateMemTableWithListView(TListView *lv, TDataSource *ds)
{
TClientDataSet *cds = new TClientDataSet(Application);

cds->FieldDefs->Add("f1", ftString, 10, False);
cds->FieldDefs->Add("f2", ftString, 10, False);
cds->FieldDefs->Add("f3", ftString, 30, False);

cds->CreateDataSet();

for (int i = 0; i < lv->Items->Count; i++)
{
cds->Append();

cds->Fields->Fields[0]->AsString = lv->Items->Item[i]->Caption;

for (int j = 0; j < lv->Items->Item[i]->SubItems->Count; j++)
{
cds->Fields->Fields[j + 1]->AsString = lv->Items->Item[i]->SubItems->Strings[j];
}
}

ds->DataSet = cds;

return cds->RecordCount;
}


最后将QuickReport的数据源和上面的ds结合起来就可以了。报表那部分自己设计吧,我懒的弄了。

将ListView中的内容显示到DBGrid中的示例代码如下:
http://www.ccrun.com/temp/CreateMemTableWithListViewDemo.ccrun.zip
bigfog 2012-07-18
  • 打赏
  • 举报
回复
可以的
void __fastcall TForm1::QuickRep1NeedData(TObject *Sender, bool &MoreData)
{
//这里加入打印的字符串
//如:QRLabel1->Caption="hehehe";
MoreData=true; //如果结束了,这里就改false
}
缘中人 2012-07-17
  • 打赏
  • 举报
回复
妖哥忙着呢,耐心等等呵呵
frReport、rmReport 好像可以打印listview
ccrun.com 2012-07-17
  • 打赏
  • 举报
回复
不要着急。今天要加班,再等等。
januserr 2012-07-17
  • 打赏
  • 举报
回复
自己再顶一下。。。妖哥,求救啊。。。
januserr 2012-07-17
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 的回复:]
妖哥忙着呢,耐心等等呵呵
frReport、rmReport 好像可以打印listview
[/Quote]
能不能详细一点,我想先预览,再打印。里面还有别的内容
januserr 2012-07-16
  • 打赏
  • 举报
回复
顶起来啊。
januserr 2012-07-16
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]
恩,晚一些我给你代码。现在忙,不要着急。
[/Quote]
好的。先谢谢了。
ccrun.com 2012-07-16
  • 打赏
  • 举报
回复
恩,晚一些我给你代码。现在忙,不要着急。
januserr 2012-07-16
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]
用内存临时表,打印时遍历ListView的行,填充数据集,然后绑定到QuickReport的数据源。
[/Quote]
能给一些详细的代码么,妖哥。预览的时候要能看到效果
ccrun.com 2012-07-16
  • 打赏
  • 举报
回复
用内存临时表,打印时遍历ListView的行,填充数据集,然后绑定到QuickReport的数据源。

604

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder VCL组件使用和开发
社区管理员
  • VCL组件使用和开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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