一条记录对应一张报表
设了dbgrid的multiselected为true,想选择几条时让他们自动依次打印现在的情况:在dbgrid中选择一条,打印预览,打印;再返回,选择另一条
想实现的情况:同时多选几条,则可以依次自动打印,无须手工干预

解决方案 »

  1.   

    你首先要打开多选控制选项dgMultiSelect,在DBGrid的Option属性里面。这样你在运行期间用Ctrl键加鼠标实现多选。
    然后循环访问DBGrid的SelectedRows,并打印就可以了。
      

  2.   

    设置一个listBox,让它不可见。
    procedure TForm1.DBGrid1CellClick(Column: TColumn);
    begin
      ListBox1.Items.Add(Table1.FieldByName('序号').AsString);
    end;在打印按钮里打印listbox1里存放的序号的相应记录