Datagrid date format

A place for users and developers of the Xataface to discuss and receive support.

Datagrid date format

Postby njw » Sun Apr 29, 2012 6:57 am

I can't see this question answered elsewhere, but apologies if it is.

I have a database with a date field. This formats correctly in view, edit and list views, e.g. "2012-04-06". However in DataGrid view, it shows as "Fri Apr 6, 2012 00:00:00 (and more)". How can I change the format to just show the date please?

Many thanks for any help.
njw
 
Posts: 280
Joined: Wed Dec 31, 1969 5:00 pm

Re: Datagrid date format

Postby shannah » Mon May 07, 2012 11:26 am

I have fixed this in SVN. rev. 3561
http://weblite.ca/svn/dataface/modules/DataGrid/trunk


Diff:
Code: Select all
van-fcat-07:DataGrid shannah$ svn diff -r 3560:3561
Index: js/DataGrid.js
===================================================================
--- js/DataGrid.js   (revision 3560)
+++ js/DataGrid.js   (revision 3561)
@@ -42,16 +42,24 @@
   if ( fielddef.vocabulary ){
      out.renderer = Dataface.renderers[fielddef.vocabulary];
   }
-   
-   if ( fielddef.Type.match(/^time/) ){
+   var dFormat = null;
+   if ( fielddef.Type.match(/datetime|timestamp/) ){
+      dFormat = 'Y-m-d H:i:s';
+   } else if (fielddef.Type.match(/date/) ){
+      
+      
+      dFormat = 'Y-m-d';
+   } else if ( fielddef.Type.match(/^time/) ){
      //alert('time field');
-      var format = 'H:i';
-      if ( fielddef.widget.format ){
-         format = fielddef.widget.format;
+      dFormat = 'H:i';
+   }
+   if ( dFormat != null ){
+      if ( typeof(fielddef['DataGrid.format']) != 'undefined' && fielddef['DataGrid.format'] ){
+         dFormat = fielddef['DataGrid.format'];
      }
      out.renderer = function(v){
         if ( v instanceof Date ){
-            return v.format(format);
+            return v.format(dFormat);
         } else {
            return v;
         }
@@ -89,6 +97,7 @@
      case 'text':
      
         if ( fielddef.Type.match(/date|timestamp/) ){
+            
            return new Ext.form.DateField(options);
         } else if ( fielddef.Type.match(/time/) ){
            //alert("Time field: "+options.interval);
@@ -159,6 +168,8 @@
   if ( fielddef.Type.match(/datetime|timestamp/) ){
      options.format = 'Y-m-d H:i:s';
   } else if (fielddef.Type.match(/date/) ){
+      
+      
      options.format = 'Y-m-d';
   } else if ( fielddef.Type.match(/time/) ){
   
@@ -174,7 +185,6 @@
      }
      
      options.renderer = function(v){
-         alert(v);
         if ( v instanceof Date ){
            return v.format(options.format);
         } else {


-Steve
shannah
 
Posts: 4457
Joined: Wed Dec 31, 1969 5:00 pm

Re: Datagrid date format

Postby njw » Mon May 07, 2012 12:42 pm

Many thanks Steve. What's the chance of being able to allow different date formats. Being a Brit, I prefer dd-mmm-yy? I can work with YYYY-MM-DD for now if it's not a quick fix - or if you point me to what needs to change.

Thanks again

Neil
njw
 
Posts: 280
Joined: Wed Dec 31, 1969 5:00 pm

Re: Datagrid date format

Postby shannah » Mon May 07, 2012 1:02 pm

You can specify the format in the fields.ini file using the DataGrid.format directive.

e.g.
Code: Select all
[myfield]
DataGrid.format="d/m/Y"


-Steve
shannah
 
Posts: 4457
Joined: Wed Dec 31, 1969 5:00 pm

Re: Datagrid date format

Postby njw » Tue May 08, 2012 1:46 am

That's great.

Many thanks

Neil
njw
 
Posts: 280
Joined: Wed Dec 31, 1969 5:00 pm


Return to Xataface Users

Who is online

Users browsing this forum: No registered users and 5 guests

Powered by Dataface
© 2005-2007 Steve Hannah All rights reserved