diegomtassis
diegomtassis

Reputation: 3657

Easiest way to render an Integer without thousands separator when using Fields plugin 2.0.2

I'm building a very basic app using Grails 3.0.2.

I have a domain class called Unit which contains, among others, a field called season, whose type is Integer and represents a year.

I have used the command generate-views to generate the scaffolded views.

Once running the application, when an existing instance is shown, the season is displayed using "," as thousands separator, and I want to remove it.

What is the easiest way to override (only) the format of the season?

For testing purposes, I have modified the show.gsp of the Unit class in the following manner:

<f:with bean="unit">
    <f:display />
    <f:display property="season" />
</f:with>

The <f:display property="season" /> displays simply "1,975", but ignores the label.

I've tried to understand the documentation of the Fields plugin, but I do not achieve what I want so it's obvious that I do not understand it.

I have added _displayWidget.gsp under views/_fields/unit/season (I have also tried under views/unit/season), but the outcome is exactly the same than before, so I assume the plugin is not taking them into account.

<g:formatNumber groupingUsed="false" number="${value}" />

Upvotes: 1

Views: 550

Answers (3)

Micho Rizo
Micho Rizo

Reputation: 1092

I was able to get this working in Grails 3.1.14 by creating views/_fields/myDomainClass/myFieldName/_displayWrapper.gsp and containing a single line of ${value}

Upvotes: 0

Ivan Arrizabalaga
Ivan Arrizabalaga

Reputation: 685

Diego, you can format any given number using the taglib formatNumber:

https://grails.github.io/grails-doc/latest/ref/Tags/formatNumber.html

Use the param 'format' and check the DecimalFormat patterns to find the one that suits fine for you.

Hope it helps!

Upvotes: 0

sCrain
sCrain

Reputation: 104

I am not familiar with the _displayWidget.gsp convention, but a simpler approach might be to override the display of the unit.season property by adding a _display.gsp under views/_fields/unit/season containing just the following:

${value}

Upvotes: 1

Related Questions