Hi, I just create a funtion to justify text and works in RDLC reports with a table
1.
public
static
List<
string
> GetText(
string
text,
int
width)<br> {<br>
string
[] palabras = text.Split(
' '
);<br> StringBuilder sb1 =
new
StringBuilder();<br> StringBuilder sb2 =
new
StringBuilder();<br>
int
length = palabras.Length;<br> List<
string
> resultado =
new
List<
string
>();<br>
for
(
int
i = 0; i < length; i++)<br> {<br> sb1.AppendFormat(
"{0} "
, palabras[i]);<br>
if
(sb1.ToString().Length > width)<br> {<br> resultado.Add(sb2.ToString());<br> sb1 =
new
StringBuilder();<br> sb2 =
new
StringBuilder();<br> i--;<br> }<br>
else
<br> {<br> sb2.AppendFormat(
"{0} "
, palabras[i]);<br> }<br> }<br> resultado.Add(sb2.ToString());<br><br> List<
string
> resultado2 =
new
List<
string
>();<br>
string
temp;<br><br>
int
index1, index2, salto;<br>
string
target;<br>
int
limite = resultado.Count;<br>
foreach
(var item
in
resultado)<br> {<br> target =
" "
;<br> temp = item.ToString().Trim();<br> index1 = 0; index2 = 0; salto = 2;<br><br>
if
(limite <= 1)<br> {<br> resultado2.Add(temp);<br>
break
;<br> }<br>
while
(temp.Length <= width)<br> {<br>
if
(temp.IndexOf(target, index2) < 0)<br> {<br> index1 = 0; index2 = 0;<br> target = target +
" "
;<br> salto++;<br> }<br> index1 = temp.IndexOf(target, index2);<br> temp = temp.Insert(temp.IndexOf(target, index2),
" "
);<br> index2 = index1 + salto;<br><br> }<br> limite--;<br> resultado2.Add(temp);<br> }<br>
return
resultado2;<br> }