我将数据库的所有字段读到在CHECKLISTBOX这里,我想根据用户所单击CHECKLISTBOX的字段,再输出到报表里显示,请教这个自定义报表字段的功能是如何实现的,

解决方案 »

  1.   

    你所指的数据是否为一对一的内容?
    如果是一对一
    在报表中用lable
    直接分字段赋值。
    如果是一对多。就要麻烦一点。
      

  2.   

    我下面的代码是这样的,但是不论有没有选择,报表都是显示这三个字段的记录,我的全部代码如下,是我那里出错了.而且QuickRep1的DATASET属性已经设置了ADOQUERY了.procedure TForm1.FormCreate(Sender: TObject);
    var i,j:integer;
     begin         //读取字段到CHECKLISTBOX里面
      with adoquery1  do begin
               For j:=0 to Fields.Count  -1 do Begin
            box1.Items.Add(Fields[j].FullName  );
          end;
        end;
       end;procedure TForm1.Button3Click(Sender: TObject);
    begin
      qrlistform.Qrdbtext1.DataSet:=Form1.ADOQuery1;
      qrlistform.Qrdbtext1.DataField:=form1.Box1.Items.Strings[0];
      qrlistform.Qrdbtext2.DataSet:=Form1.ADOQuery1;
      qrlistform.Qrdbtext2.DataField:=form1.Box1.Items.Strings[1];
      qrlistform.Qrdbtext3.DataSet:=Form1.ADOQuery1;
      qrlistform.Qrdbtext3.DataField:=form1.Box1.items.Strings[2];
      QRListForm.QuickRep1.Preview;end;