cocoon-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Bruno Dumon <br...@outerthought.org>
Subject Re: the widget datatype question
Date Fri, 18 Jun 2004 06:46:18 GMT
On Fri, 2004-06-18 at 08:33, Johnson wrote:
> Hi
> 
>  I try to caculate the widget value in repeter to another widget,the code is
> 
>      <fd:field id="test">
>        <fd:label><i18n:text key="test">test:</i18n:text></fd:label>
>        <fd:datatype base="decimal"/>
>      </fd:field>
> 
>      <fd:repeater id="daily1List">
>        <fd:field id="amt">
>          <fd:label><i18n:text key="amt">amt:</i18n:text></fd:label>
>          <fd:datatype base="decimal"/>
>        </fd:field>
>      </fd:repeater>
> 
>      <fd:repeater-action id="removeDaily1" action-command="delete-rows"
>  repeater="daily1List" select="select">
>            <fd:label><i18n:text
>  key="removeDaily1">removeDaily1:</i18n:text></fd:label>
>           <fd:on-activate>
>           <javascript>
>            var dList =  event.source.parent.lookupWidget("daily1List");
>            var testv=0;
> 
>            for (var i = 0; i &lt; dList.size; i++) {
>                  var row = dList.getRow(i);
>                  num1 = row.lookupWidget("amt").value;
>                  testv = testv + num1;
>          }
> 
>          var test = event.source.parent.lookupWidget("test");
>          test.setValue(testv);
>         </javascript>
>        </fd:on-activate>
> 
>      </fd:repeater-action>
> 
>  If I had two row,one amt is 1,one amt is 2,the test will be "12",why.

Probably because Javascript doesn't know about bigdecimals. Depending on
your needs, you could change the datatype of the widget to float, double
or long.

If you need the precission of bigdecimal numbers, you need to use the
methods of the BigDecimal class to do your calculations. See the javadoc
of that class.

It would be something like

var testv = new Packages.java.math.BigDecimal("0");
testv = testv.add(num1);

-- 
Bruno Dumon                             http://outerthought.org/
Outerthought - Open Source, Java & XML Competence Support Center
bruno@outerthought.org                          bruno@apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@cocoon.apache.org
For additional commands, e-mail: users-help@cocoon.apache.org


Mime
View raw message