Hello all,
We have a DataSet bound to a DataGrid, this DataSet has a datetime
column, coming from SQL Server.
We want to show this field on the DataGrid always as "DD/MM/YYYY",
ignoring user's regional configuration.
For example if the user has the date regional configuration as
"DD*MM*YYYY" (with stars), the DataGridTextBoxColumn shows the date as
"DD*MM*YYYY" even if our code is:
DataGridTextBoxColumn oTextBoxNatural = new DataGridTextBoxColumn();
oTextBoxNatural.MappingName = "datetime_field";
oTextBoxNatural.HeaderText = "Show date as DD/MM/YYYY";
oTextBox.Format = "dd/MM/yyyy";
oTextBoxNatural.Width = 100;
dty.GridColumnStyles.Add(oTextBoxNatural);
How can we show the date always as "DD/MM/YYYY"? We do not want to
depend on user's regional configuration since in our environment each
user configurates this as they want.
Thanks a lot.
Joseph Toulier
Claes Bergefall - 21 Feb 2006 19:29 GMT
I would double check to make sure that the DataColumn.DataType property is
set to DateTime for that column.
If it isn't, the grid doesn't know how to apply that format string
/claes
> Hello all,
>
[quoted text clipped - 22 lines]
>
> Joseph Toulier
Bart Mermuys - 22 Feb 2006 13:40 GMT
Hi,
> Hello all,
>
[quoted text clipped - 11 lines]
> oTextBoxNatural.MappingName = "datetime_field";
> oTextBoxNatural.HeaderText = "Show date as DD/MM/YYYY";
Assign a culture to FormatInfo that uses a "/" as seperator, like the
invariant culture:
oTextBoxNatural.FormatInfo = CultureInfo.InvariantCulture;
> oTextBoxNatural.Format = "dd/MM/yyyy";
> oTextBoxNatural.Width = 100;
> dty.GridColumnStyles.Add(oTextBoxNatural);
HTH,
Greetings
> How can we show the date always as "DD/MM/YYYY"? We do not want to
> depend on user's regional configuration since in our environment each
[quoted text clipped - 3 lines]
>
> Joseph Toulier
Abhishek - 23 Feb 2006 09:45 GMT
Hi Joseph,
The format of date to be displayed can be controlled by the ToString
function for the DateTime object used by passing a format string.
E.g., when you retrieve the date from the database in a DateTime
object, say DT, then you can display it as DT.ToString("dd/MM/yyyy") in
your case. This string can have all the date time combinations as
variants. Take care of the case of the letters, especially MM (mm would
mean minutes). The date time string so obtained can be used at all
required places.
I hope this meets your requirement.
Abhishek