Datagrid date format

Posted:
Sun Apr 29, 2012 6:57 am
by njw
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.
Re: Datagrid date format

Posted:
Mon May 07, 2012 11:26 am
by shannah
I have fixed this in SVN. rev. 3561
http://weblite.ca/svn/dataface/modules/DataGrid/trunkDiff:
- 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
Re: Datagrid date format

Posted:
Mon May 07, 2012 12:42 pm
by njw
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
Re: Datagrid date format

Posted:
Mon May 07, 2012 1:02 pm
by shannah
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
Re: Datagrid date format

Posted:
Tue May 08, 2012 1:46 am
by njw
That's great.
Many thanks
Neil