事件写在那,调用dbgrid的那些属性呢!!!!

解决方案 »

  1.   

    使用Dbgrid.SelectedRows取得选择的数据(见例子),然后
    把这些数据复制到一个临时表(可以用控件模拟,如TClientDataSet)中
    procedure TForm1.Button1Click(Sender: TObject);
    var
      i, j: Integer;
      s: string;
    begin
      if DBGrid1.SelectedRows.Count>0 then
        with DBGrid1.DataSource.DataSet do
          for i:=0 to DBGrid1.SelectedRows.Count-1 do
          begin
            GotoBook(pointer(DBGrid1.SelectedRows.Items[i]));
            for j := 0 to FieldCount-1 do
            begin          if (j>0) then s:=s+', ';
              s:=s+Fields[j].AsString;
            end;
            Listbox1.Items.Add(s);
            s:= '';
          end;
    end;
      

  2.   

    多设置一个字段用来标记是否打印,不提交打印标记
    打印的是否设置过滤条件Filter:=''
    打印的时候只要对数据集进行过滤