Buongiorno a tutti,
Avendo una data nel formato yyyyMMdd come posso formattarla nel formato dd/MM/yyyy ?!?
Nelle windows form usavo form usavo gli eventi format e parse, ma qui il meccanismo di binding è unidirezionale come posso ovviare?
Grazie
Buongiorno a tutti,
Avendo una data nel formato yyyyMMdd come posso formattarla nel formato dd/MM/yyyy ?!?
Nelle windows form usavo form usavo gli eventi format e parse, ma qui il meccanismo di binding è unidirezionale come posso ovviare?
Grazie
Aggiungi alla tua Bound Column un attributo DataFormatString con valore "{0:d}"
HTH
si ma la data nel database è salvata in yyyyMMdd (che non è una data ma una stringa) secondo te funziona lo stesso?!?
Cmq adesso provo
Grazie
Evidentemente memorizzare il campo in questo modo non è stata un'ottima scelta.
Dovresti renderlo di tipo data nel momento che fai la query sul database; che db stai utilizzando?
purtroppo uso mysql vedrò di seguire il tuo consiglio anche se sono certo che avrò problemi in futuro quando dovrò fare delle ricerce sulle date
e grazie x l'aiuto
Sono tanti quelli che conosco che non amano i campi data e che li memorizzano o in campi stringa, o numerici, ma sempre nel formato aaaammgg.Originariamente inviato da Beziel
si ma la data nel database è salvata in yyyyMMdd (che non è una data ma una stringa) secondo te funziona lo stesso?!?
Cmq adesso provo
Grazie
Adesso, se tu hai una stringa del tipo aaaammgg, cosa ti impedisce di estrarti la parte aaaa, poi la parte mm, poi la parte gg e, infine ricostruirti una rappresentazione stringa gg/mm/aaaa
Perciò, al posto di mettere per esempio, <%#Container.DataItem("data")%>
Metterei <%#Mia_funzione(DataBinder.Eval(Container.DataItem , "data"))%>......![]()
Pietro
Sì, ma non con le BoundColumn.Originariamente inviato da pietro09
Sono tanti quelli che conosco che non amano i campi data e che li memorizzano o in campi stringa, o numerici, ma sempre nel formato aaaammgg.
Adesso, se tu hai una stringa del tipo aaaammgg, cosa ti impedisce di estrarti la parte aaaa, poi la parte mm, poi la parte gg e, infine ricostruirti una rappresentazione stringa gg/mm/aaaa
Perciò, al posto di mettere per esempio, <%#Container.DataItem("data")%>
Metterei <%#Mia_funzione(DataBinder.Eval(Container.DataItem , "data"))%>......![]()
scusami, ho confuso con un repeater
Pietro
<asp:BoundColumn DataField="data_stringa" />
nel load
ma puoi intervenire direttamente nell'istruzione sql senza intervenire a posteriori nel datatablecodice:If Not Me.IsPostBack Then Dim dt As DataTable = Libreria.GetDataTable(StringaConnessione, "select * from campi") Dim r As DataRow For Each r In dt.Rows Dim s$ = r("data_stringa").ToString If Trim(s) <> "" Then Dim a$ = Mid(s, 7, 2) & "/" & Mid(s, 5, 2) & "/" & Mid(s, 1, 4) r("data_stringa") = a End If Next Me.DataGrid1.DataSource = dt Me.DataGrid1.DataBind() End If
Pietro