diff flys-client/src/main/java/de/intevation/flys/client/client/ui/TableDataPanel.java @ 906:39acba4b5f0b

Added formatter for numeric columns that converts the decimal separator. (Issue200) flys-client/trunk@2758 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Raimund Renkert <raimund.renkert@intevation.de>
date Thu, 15 Sep 2011 14:48:31 +0000
parents 5a299d49a989
children d59dcaf52796
line wrap: on
line diff
--- a/flys-client/src/main/java/de/intevation/flys/client/client/ui/TableDataPanel.java	Thu Sep 15 12:55:36 2011 +0000
+++ b/flys-client/src/main/java/de/intevation/flys/client/client/ui/TableDataPanel.java	Thu Sep 15 14:48:31 2011 +0000
@@ -4,6 +4,7 @@
 
 import com.google.gwt.core.client.GWT;
 import com.google.gwt.user.client.rpc.AsyncCallback;
+import com.google.gwt.i18n.client.NumberFormat;
 
 import com.smartgwt.client.util.SC;
 import com.smartgwt.client.widgets.Canvas;
@@ -11,6 +12,7 @@
 import com.smartgwt.client.widgets.grid.ListGrid;
 import com.smartgwt.client.widgets.grid.ListGridField;
 import com.smartgwt.client.widgets.grid.ListGridRecord;
+import com.smartgwt.client.types.ListGridFieldType;
 
 import de.intevation.flys.client.shared.model.DataList;
 
@@ -115,11 +117,30 @@
      */
     public void setData(List list) {
         String[] header = (String[])list.get(0);
+        String[] firstValues = (String[])list.get(1);
         ListGridField[] fields = new ListGridField[header.length];
         for(int i = 0; i < header.length; i++) {
             ListGridField f = new ListGridField(String.valueOf(i));
             fields[i] = f;
             f.setTitle(header[i]);
+
+            Config config = Config.getInstance();
+            String locale = config.getLocale();
+            try {
+                NumberFormat nf;
+                if (locale.equals("de")) {
+                    nf = NumberFormat.getFormat("#,##");
+                }
+                else {
+                    nf = NumberFormat.getFormat("#.##");
+                }
+                nf.parse(firstValues[i]);
+                f.setType(ListGridFieldType.FLOAT);
+            }
+            catch (NumberFormatException nfe) {
+                f.setType(ListGridFieldType.TEXT);
+            }
+
         }
 
         if (header.length == 2) {

http://dive4elements.wald.intevation.org