c# - DataGrid displaying the wrong dateformat -
i'm displaying information case exist in datagrid
.
in ms access
database date stored in datetime
format , looks : dd/mm/yyyy.
the problem when displayed on datagrid
when program runs, format change mm/dd/yyyy.
the thing makes me lost when display in messagebox
content of concerned cells before assign datatable
datagrid
i've got right format (dd/mm/yyyy).
i've tried change datetimemode
same format displayed.
someone got tips fix problem ? give code below :
datatable temp = dt.clone();
temp = (from nardin in dt.asenumerable().distinct() nardin["numero client"].tostring() == _centerid.tostring() select nardin).copytodatatable(); removeduplicates(temp, "numero dossier"); foreach (datarow row in temp.rows) { messagebox.show(row["date intervention"].tostring()); //this gives me datetime format i'd display } existingcase.itemssource = temp.asdataview(); //once assigned datagrid datetime format not same above
actually datagrid declared in xaml file :
<datagrid selectionunit="fullrow" selecteditem="{binding selectedbi, mode=twoway}" autogeneratecolumns="true" margin="0,167,12,167" name="existingbi" width="588" horizontalalignment="right"> <datagrid.rowstyle> <style targettype="{x:type datagridrow}"> <eventsetter event="mousedoubleclick" handler="resultdatagridbi_mousedoubleclick"/> </style> </datagrid.rowstyle> </datagrid>
i'm binding datatable with: existingcase.itemssource = temp.asdataview();
in advance, !
try this:
add startup
event handle in app.xaml
file:
<application x:class="datagridaddrows.app" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" startup="application_startup" ... />
in app.xaml.cs
add this:
public partial class app : application { private void application_startup(object sender, startupeventargs e) { frameworkelement.languageproperty.overridemetadata(typeof(frameworkelement), new frameworkpropertymetadata(system.windows.markup.xmllanguage.getlanguage(system.globalization.cultureinfo.currentculture.ietflanguagetag))); } }
now, date should displayed depending on current culture.
note:
stringformat
suitable only display date. if want edit cell date, such format dd/mm/yyyy
, entering data in way dd/mm/yyyy
, system expected format mm/dd/yyyy
, error appear red border
.
Comments
Post a Comment