Форматирование datetime и decimal в webgrid
Я заполняю веб-сетку MVC данными из схемы, которая неизвестна во время разработки. Все работает нормально, хотя я борюсь с форматированием данных. Я просто не знаю синтаксиса для установки свойства типа Func & lt;object, object>.
В контроллере
var fields = GetListOfFieldsFromDB(); foreach (var f in fields) { var c = new System.Web.Helpers.WebGridColumn(); c.ColumnName = f.FieldName; c.Header = f.FieldAlias; c.CanSort = true; switch (f.SqlDataType) { case "datetime": c.Format = (item) => string.Format("{0:dd MMM yyyy}", item.DontKnowTheNameOfTheFieldYet; // Need help here . break; case "decimal": c.Format = item => item.ToString("C"); // Need more help here. // No clue what the syntax should be. break; // some more formats here ... } columnList.Add(c); }
По мнению
var grid = new WebGrid(source: Model.Records, canPage: true, rowsPerPage: 20); @grid.GetHtml(tableStyle: "table", columns: Model.Columns)
Что я уже пробовал:
c.Format = item => item.ToString("C"); //doesn't work