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

Popular posts from this blog

apache - Add omitted ? to URLs -

redirect - bbPress Forum - rewrite to wwww.mysite prohibits login -

php - How can I stop spam on my custom forum/blog? -