大侠:
报表控件QRDBTEXT用来存放qurey引导出的记录。现在如果一行内要存放多个字段,则长度可能不够,所以想将QRDBTEXT内存放的记录的长度做一限制,截取。即假如大于10个字符,则用两行或三行来显示。
例:(截取addr字段)
empno         addr        emp_name       sex
001           aaaaaaaaaaa ***            M 
              aaaaaaaaaaa
002           bbbbbb      ***            F
...
谢谢!

解决方案 »

  1.   

    QRDBTEXT的长度和数据库中的数值长度是一样的,你在可以通过获取数值的长度来计算
      

  2.   

    在beforeprint事件中﹕(建議使用QRRichText)
    var v_str:string;
        N:integer;
    begin
      QRRichText1.Lines.Clear;
      v_str:=dataset.fieldbyname('字段名').asstring;
      N﹕=length(v_str) div 10 + 1;
      if N=1 then  QRRichText1.Lines.Add(v_str)
      else
      while N>=1 do
      begin
        N:=N-1
        QRRichText1.Lines.Add(copy(v_str,1,10));
        delete(v_str,1,10);
      end;