2014-11-05 3 views
2

Версия: Crystal Reports Developer XICrystal Reports, обернув текст на специфический характер

У меня есть одно поле в отчете кристалла, который потенциально может вернуть 100 кодов, разделенных двоеточием. Я хотел бы обернуть это поле так, чтобы каждая строка всегда заканчивалась двоеточием (:), то есть он не переносит средний код. Может ли это быть достигнуто с использованием формулы Can Grow?

Пример

Текущий Дисплей:

123:456:5 
67:891:AB 
C:DEF:GHI 
J:987:654: 

Обязательный Дисплей:

123:456: 
567:891: 
ABC:DEF: 
GHIJ:987: 
654: 

Коды между 7-9 алфавитно-цифровых символов и в пространстве доступных 2/3 кодов будет соответствовать каждой строке. Параметр Can Grow в настоящее время установлен в 0 (неограниченно).

Большое спасибо за помощь.

ответ

2

Вы могли бы попробовать что-то вроде этого:

local stringvar array data := split("123:456:567:891:ABC:DEF:GHIJ:987:654:",":"); 
local stringvar s; 
local stringvar CRLF := chr(10)+ chr(13); 
Local numbervar i; 
local numbervar iter:=1; 

for i := 1 to ubound(data) do (

    // serialize 
    s := s + data[i] + ":"; 

    // if even-numbered iteration, add line break 
    if remainder(iter,2)=0 then s:= s + CRLF; 

    // increment counter 
    iter:=iter+1; 

); 

// return result 
s; 
+0

Большое спасибо за это, делает работу! – pwl