dbgrid(捆绑aqQuery1)的显示的一列数据ckj,是数据表中的数据经过解密函数DecryStrhex计算(写在另一个pas模块中)而来,如下: procedure TDM.aqQuery1CKJGetText(Sender: TField; var Text: String; 
  DisplayText: Boolean); 
begin 
     if   Sender.AsString  <>''   then   Text:= DecryStrhex(Sender.AsString,PWD) end; 例如数据表中ckj=jgh,经过函数运算在dbgrid显示ckj=15 
但是在打印时不知如何设置使之显示计算后的值(我用的是ACReport) 谢谢各位!!!

解决方案 »

  1.   

    找直接打印DBGrid的控件,这样方便,而且所见所得。
      

  2.   

    ACReport数据源也用连到DBGrid的AdoQuery试试
    也就说AcReport打印的ADOQuery的CKJ字段的OnGetText事件也执行:
     if   Sender.AsString   <>''   then   Text:= DecryStrhex(Sender.AsString,PWD)  
    代码
      

  3.   

    to 3 楼
    我就是在AdoQuery的ckj字段OnGetText事件里执行的啊,但是打印出来ckj是空的
      

  4.   

    哦,那你看看在AdoQuery里加一个计算字段,在AdoQuery的计算事件里给这个计算字段赋值,看行不行
      

  5.   

    我用cxGrid控件,可以直接打印网格