1.双击后能够得到dbgrid1.selectedfield.fieldname和dbgrid1.selectedfield.value
2.QuickReport需放到别的窗体上,调用时使用preview和print。
  要只显示一行则不能设置QuickReport的DataSet属性。
3.建议使用QuickReport,当然也可以使用printer.
  printer.begindoc;
  printer.canvas.textout...;
  .
  .
  .
  printer.enddoc;

解决方案 »

  1.   

    1.dbgrid 是和一个datasource 连接的。而Datasource 连接一个表。你双击后表中的记录一样定位于双击的记录上。只要使用表中的信息不就可以了么?var
      i:integer;
      str1:String;
      f:TextFile;
    begin
      with table1 do begin
        for i=0 to fields.count-1 do begin
          str1:=str1+Fields[i].name+Fields[i].Asstring+Chr(9)+#13#10;{打印tab键,使打印比较 整齐,至于#13#10加在什么地方,看你怎么 排列了。}
        end;
      end;
      assignprn(f);
      Rewrite(f);
      writeln(f,str1);
      system.closefile(f);
    end;3.这段代码写在ondbgriddbclick();