how to display Amount per Text Box in RDLC

hello guys, its been a while,

I’m just going to ask if there’s a way to display the Amount per textbox.

what do I mean by this?


I have here a 14 text box Field. in which Text Box 13 is a default of of “.”

now what I want to achieve is that, I wanted to

display the Amount corresponding to the text boxes accordingly.

for my sample output.

i Have 24.86

but it should also adapt the length of the amount based on the text box given





Thousands/Ten Thousands


Hundred Thousands




and so on.

I’m wonderin if this is possible using rdlc.

any kind of help would be appreciated.

Thanks guys!


Hi Adrian,

You could split the amount into a the individual characters (or a text array) from NAV and then only have one character in each variable string in RDLC.

Andrian, you know the length (by FORMAT command) of string from the decimal, right?

You know how many symbols you have on the page, right? The very simple way (e.g. FOR…DOWNTO) to fill the Array or Chars (or String) and transfer it to Dataset.

Hi RedFoxUA, I’m not quite familiar with the length(by FORMAT command) of string to Decimal,

I’m currently using this expression in the text boxes.

=mid(sum(Fields!txtAmount.Value),1,1); up to =mid(sum(Fields!txtAmount.Value),14,1);

I’m having trouble in the formatting, because of this. my out put is


instead of


Hi Erik, I’ll try this suggestion, but since I’m using =sum() in my expression in the report layout. I’m not quite sure how do I use this approach. I’ll see to it though , now my problem for the splitting part is that. first I need to get the final value of my amount so I could convert it into a string. and do the splitting.


you are trying to fill from “left-to-right & First-to-last symbol”, but you need to fill from “right-to-left & from-last-to-first symbol”

Let’s imagine we have DecValue = “24.86”. We have new TXT line PrintLine[14] where PrintLine[12] = ‘.’

to receive 2 symbols after ‘.’ we should do something like PrintLine[13] := COPYSTR(FORMAT(DecValue-ROUND(DecValue,1)), 1,2)

For “integer part” we should do either FOR-circle with DOWNTO type calculation or DO, WHILE (it is up to you) → fill either Symbol from “integer part” or " ".

Finally, just print the PrintLien[{x}]

Easier way to do it is like this:

MESSAGE(’%1’,MyPadStr(‘123’,10,‘X’)); // ← Example on how to do test it.

LOCAL MyPadStr(InputString : Text;Length : Integer;FillerChar : Char) : Text

Then you do not need loops or anything like that [emoticon:c4563cd7d5574777a71c318021cbbcc8]