- How to dynamically change the size of a field?
- How to change the width of a field dynamically in Crystal Reports, based on the number of characters the field contain?
- Note: Images and data in this SAP Knowledge Base Article is from SAP internal systems, sample data, or demo systems. Any resemblance to real data is purely coincidental.
SAP Crystal Reports 2013
- SAP Crystal Reports 2016
- SAP Crystal Reports 2020
- Create a formula to dynamically resize the width of a field using the Size and Position option: "Width"
- In Crystal Reports, right click on the field you want to dynamically resize based on the number of characters it displays, and select "Size and Position..."
- In the window: "Object Size and Position", set the Width to be small, like: 0.1
- To set the width dynamically, click on the "X-2" button located on the right side of the option "Width"
- In the Formula Editor, enter a formula like:
Local NumberVar Character_size := 110;
Local NumberVar Number_Of_Characters_Limit := 35;
Local NumberVar Current_Number_Of_Characters := Length(CurrentFieldValue);
If Current_Number_Of_Characters > Number_Of_Characters_Limit ThenImportant Notes:
Character_Size * Number_Of_Characters_Limit
Character_Size * Current_Number_Of_Characters
- The unit of measurement for the size is not in characters, because in general, a character in MS Windows have different width, and size, depending on the font selected. For example: The width of the character "A", is larger than the width for the character "I"
- The unit of measurement used in a formula is twip. And one inch is equal to 1440 twips.
- There are some fonts in MS Windows that have a Fixed Character Length Size, like: Courrier New, but it still have the font size to take into account, therefore is not possible to create a formula for all scenario, and this is why in the above formula sample, it uses a variable for the estimated Character Size in twip, which you will need to change depending on the font used, and font size used on the report.
- Finally, the sample formula set a number of characters limit per line, to ensure the width of the field will not overlay another field, or go outside the paper size. You will also need to modify the value for the number of characters limit to fit your report design requirement.
Width of the Field, Dynamic changes. , KBA , BI-RA-CR , Crystal Reports designer or Business View Manager , How To
|Dynamic Field Width.rpt|