如何实现复制\粘贴多个DBGrid网格的数据,敬请大家指导学习,特别是数据类型的判断,我不知如何处理? 
  对于多个网格数据,我不知如何下手。  
复制单个网格数据我是这样实现的:  
type  
   Tmydbgrid = class(TDBGrid)  
  private  
  public  
end;  
procedure TmainForm.ToolButton_cutClick(Sender: TObject);  
begin  
  if (dbgrid1.ReadOnly = false)  and (ActiveControl is TDBGrid)  
  then  begin  
          Tmydbgrid(DBGrid1).InplaceEditor.CutToClipboard;  
        end;  
  ToolButton_paste.Enabled := true;        
end;  procedure TmainForm.ToolButton_copyClick(Sender: TObject);  
begin  
  if  (dbgrid1.ReadOnly = false)  and (ActiveControl is TDBGrid)  
  then  begin  
          Tmydbgrid(DBGrid1).InplaceEditor.CopyToClipboard;  
        end;  
  ToolButton_paste.Enabled := true;  
end;  procedure TmainForm.ToolButton_pasteClick(Sender: TObject);  
begin  
  if (dbgrid1.ReadOnly = false)  and (ActiveControl is TDBGrid)  
  then  begin  
          try  
            Tmydbgrid(DBGrid1).InplaceEditor.PasteFromClipboard;  
          except  
          end;    
        end;  end;  procedure TmainForm.ToolButton_cancelClick(Sender: TObject);  
begin  
  adoquery1.Edit;     
  try  
    adoquery1.Cancel;  
  except  
  end;    
end;  

解决方案 »

  1.   

    我理解水平有限,看不懂问题,不知道是否于你的问题有关
    DBGRID,好像就是显示你看到那几条数据,其实数据都放在数据集(如adoquery)里
    你指得复制是DBGRID的单元格还是DBGRID,如果是单元格的内容,你可以直接从数据集里复制剪切板上,
    获得字段类型可用adoquery1.fieldbyname('a').Datatype;