在DBGrid中多选记录很简单,可是怎么样把这些选择记录生成报表并打印呢?请各位高手给个思路。

解决方案 »

  1.   

    这是我用来选取出我所选取的记录,即返回ID,现用 select * from abc where id in()这样的来进行生成报表
    下面是取出ID
    function Tmainform.selectfile(ado:Tadoquery;dbgrid:Tdbgrideh;str_id:string):string;
    var
     i:integer;
     str:string;
    begin
     str:='';
    if DBGrid.SelectedRows.Count>0 then
       begin
        with DBGrid.DataSource.DataSet do
          for i:=0 to DBGrid.SelectedRows.Count-1 do
          begin
            GotoBook(pointer(DBGrid.SelectedRows.Items[i]));
            str:=str+trim(vartostr(ado.FieldValues[str_id]))+',';
          end;
            delete(str,length(str),1);
            result:=str;
       end;
    end;