c# - LINQ query binded to gridview (problem with date) -
i have problem regarding date in linq query binded gridview. code i'm using, nothing special, problem can't format date (p.aktivnost.aktivnost.datum date) in gridview formatted "dd.mm.yyyy." , instead being shown "dd.mmm.yyyy. 0:00:00" want avoid.
i've tried search solution, none of solutions i've found helpful. solution gave me partial success when used "date = p.aktivnost.aktivnost_datum.value.day", unable add other values (for month , year).
as sad, following code idea didn't work.
date = p.aktivnost.aktivnost_datum.value.day + "." + p.aktivnost.aktivnost_datum.value.month + "." + p.aktivnost.aktivnost_datum.value.day
now, code used binding data. gridview doesn't contain columns on page load.
var predavaci = p in db.predavacs p.osoba_id == idosoba orderby p.osoba.osoba_prezime select new { p.aktivnost.tema.tema_naziv, p.aktivnost.ciklu.ciklus_naziv, p.aktivnost.podciklu.naziv_podciklus, p.aktivnost.aktivnost_datum, p.aktivnost.mjesto.mjesto_naziv, p.aktivnost.ciljana_grupa.ciljana_grupa_naziv }; gvizvjestaj.datasource = predavaci; databind(); gvizvjestaj.headerrow.cells[0].text = "naziv aktivnosti"; gvizvjestaj.headerrow.cells[1].text = "ciklus"; gvizvjestaj.headerrow.cells[2].text = "podciklus"; gvizvjestaj.headerrow.cells[3].text = "datum"; gvizvjestaj.headerrow.cells[4].text = "mjesto"; gvizvjestaj.headerrow.cells[5].text = "ciljna grupa";}
solution:
gvizvjestaj.datasource = predavaci.tolist().select(p => new { p.tema_naziv, p.ciklus_naziv, p.naziv_podciklus, datum = p.aktivnost_datum.value.day + "." + p.aktivnost_datum.value.month + "." + p.aktivnost_datum.value.year + ".",p.mjesto_naziv,p.ciljana_grupa_naziv});
in gridview display code this
<asp:boundfield datafield="p.aktivnost.aktivnost.datum" dataformatstring="{0:mm-dd-yyyy}" htmlencode="false" headertext="p.aktivnost.aktivnost.datum" />
edit
try this:
var predavaci = p in db.predavacs p.osoba_id == idosoba orderby p.osoba.osoba_prezime select new { p.aktivnost.tema.tema_naziv, p.aktivnost.ciklu.ciklus_naziv, p.aktivnost.podciklu.naziv_podciklus, aktivnost_datum = new { string.format("{0}.{1}.{2}", p.aktivnost.aktivnost_datum.day, p.aktivnost.aktivnost_datum.month, p.aktivnost.aktivnost_datum.year) }, p.aktivnost.mjesto.mjesto_naziv, p.aktivnost.ciljana_grupa.ciljana_grupa_naziv };
or mentioned in answer, you're free edit collection normal once it's in memory.
gvizvjestaj.datasource = predavaci.tolist().select(q => new { q.aktivnost.tema.tema_naziv, q.aktivnost.ciklu.ciklus_naziv, q.aktivnost.podciklu.naziv_podciklus, q.aktivnost.aktivnost_datum.tostring("dd.mm.yyyy"), q.aktivnost.mjesto.mjesto_naziv, q.aktivnost.ciljana_grupa.ciljana_grupa_naziv });
Comments
Post a Comment