我已经从窗体上的valuelisteditor生成了临时表(adataset)中,显示在一个dbgrid中很正常,但是qreport中预览和打印都是没有数据,我都琢磨了一天了也没找出来问题,高手帮我吧。!!!
源代码如下:
procedure TFmJGPrint.Button1Click(Sender: TObject);
var
i,j:integer;
ADataSet:TClientDataSet;
begin
ADataSet:=TClientDataSet.Create(Self);
with ADataSet.FieldDefs do
begin
for i:=0 to Mform.ValueListEditor1.ColCount-1 do
begin
Add(Mform.ValueListEditor1.Cells[i,0],ftString,16,False);
end;
end;
ADataSet.CreateDataSet; ADataSet.Open;
for i:=1 to Mform.ValueListEditor1.RowCount-1 do
begin
ADataSet.Append;
for j:=0 to Mform.ValueListEditor1.ColCount-1 do
begin
ADataSet.FieldByName(Mform.ValueListEditor1.Cells[j,0]).AsString:=
Mform.ValueListEditor1.Cells[j,i];
end;
ADataSet.Post; end;
DataSource1.DataSet:=ADAtaSet;
self.QuickRep1.DataSet:=adataset;
adataset.First; self.db1.DataSet:=adataset;//db1,db2:TQRDBText;
self.db2.DataSet:=adataset;
self.db1.DataField:=adataset.Fields[0].AsString;
self.db2.DataField:=adataset.Fields[1].AsString;
//showmessage(inttostr(self.QuickRep1.RecordCount));
self.QuickRep1.Preview; //预览的时候只有两个列的名字(db1,db2)
//ADataSet.Close;
//ADataSet.Free;
end;
源代码如下:
procedure TFmJGPrint.Button1Click(Sender: TObject);
var
i,j:integer;
ADataSet:TClientDataSet;
begin
ADataSet:=TClientDataSet.Create(Self);
with ADataSet.FieldDefs do
begin
for i:=0 to Mform.ValueListEditor1.ColCount-1 do
begin
Add(Mform.ValueListEditor1.Cells[i,0],ftString,16,False);
end;
end;
ADataSet.CreateDataSet; ADataSet.Open;
for i:=1 to Mform.ValueListEditor1.RowCount-1 do
begin
ADataSet.Append;
for j:=0 to Mform.ValueListEditor1.ColCount-1 do
begin
ADataSet.FieldByName(Mform.ValueListEditor1.Cells[j,0]).AsString:=
Mform.ValueListEditor1.Cells[j,i];
end;
ADataSet.Post; end;
DataSource1.DataSet:=ADAtaSet;
self.QuickRep1.DataSet:=adataset;
adataset.First; self.db1.DataSet:=adataset;//db1,db2:TQRDBText;
self.db2.DataSet:=adataset;
self.db1.DataField:=adataset.Fields[0].AsString;
self.db2.DataField:=adataset.Fields[1].AsString;
//showmessage(inttostr(self.QuickRep1.RecordCount));
self.QuickRep1.Preview; //预览的时候只有两个列的名字(db1,db2)
//ADataSet.Close;
//ADataSet.Free;
end;
解决方案 »
- 实在是折磨得不行了,上来向大家求助.如何判断一个网址打开后是否有弹窗?
- 关于分区加密
- 请问如何用程序实现IE标题动态切题
- 图片问题
- 控件安装问题,有源代码
- dbgridEh的wordwrap功能问题!??
- 请问:t:=dm01.table_item.Locate('item','00000015', [lopartialkey] )为什么总报错?
- 我按电脑报的文章开发自己的英文语音朗读软件做到了3不知道如何找到这个组件其图标不认识可以说说吗
- Delphi中的事件问题...
- 请问怎么使用MSDN????
- 用delphi检测一个XML文档中是否有非法字符,XML用UTF8格式编码
- 如何使用API修改ComboBox的style属性csDropDownList为csDropDown?
band要关联数据集DataSet
现在我已经解决了,就是db1,db2不能设置它的datafield,程序就可以显示了另外发现:qreport的预览有时候乱七八糟的。非常不稳定。