У меня проблема с датой в запросе LINQ, которая привязана к сетке. Это код, который я использую, ничего особенного, но проблема в том, что я не могу отформатировать дату (p.aktivnost.aktivnost.datum is date) в gridview, чтобы она была отформатирована как «dd.MM.yyyy». и вместо этого он отображается как «dd.MMM.yyyy. 0:00:00», которого я хочу избежать.
Я пытался найти решение, но ни одно из найденных решений не было полезным. Единственное решение, которое дало мне частичный успех, было, когда я использовал «date = p.aktivnost.aktivnost_datum.Value.Day», но затем я не смог добавить другие значения (для месяца и для года).
Как мне грустно, следующий код был идеей, которая не сработала.
дата =
p.aktivnost.aktivnost_datum.Value.Day
+ "." + p.aktivnost.aktivnost_datum.Value.month
+ "." + p.aktivnost.aktivnost_datum.Value.Day
Теперь код, используемый для привязки данных. Gridview не содержит столбцов при загрузке страницы.
var predavaci = from p in db.predavacs
where 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";}
Решение:
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});