@Html.DatalistFor(model => model.Id, new PeopleDatalist())
@Html.DatalistFor(model => model.Id, new PeopleDatalist { Multi = true })
public class HomeController : Controller
{
private DbContext Context { get; }
public HomeController(DbContext context)
{
Context = context;
}
[HttpGet]
public JsonResult AllPeople(DatalistFilter filter)
{
PeopleDatalist datalist = new PeopleDatalist(Context) { Filter = filter };
return Json(datalist.GetData(), JsonRequestBehavior.AllowGet);
}
}
public class PeopleDatalist : MvcDatalist<Person>
{
private DbContext Context { get; }
public PeopleDatalist(DbContext context)
{
Context = context;
}
public PeopleDatalist()
{
Url = "AllPeople";
}
public override IQueryable<Person> GetModels()
{
return Context.Set<Person>();
}
public override String GetColumnHeader(PropertyInfo property)
{
// Defaults to using display name attribute.
return property.Name;
}
}
public class Person
{
[Key]
public Int32 Id { get; set; }
[DatalistColumn]
[Display(Name = "Name")]
public String Name { get; set; }
[DatalistColumn]
[Display(Name = "Surname")]
public String Surname { get; set; }
[DatalistColumn]
[Display(Name = "Income")]
public Int32 Income { get; set; }
[Display(Name = "Birthday")]
[DatalistColumn(Format = "{0:d}")]
public DateTime Birthday { get; set; }
public Boolean? IsWorking { get; set; }
}