You cannot bind to several types of classes, so the best way is to create a composite ViewModel class to store the properties you need. Fill this in your controller and pass the models back.
View model example :
public class OrderDtoViewModel
{
public string UserName { get; set; }
public string NameSurname { get; set; }
public string Phone { get; set; }
public DateTime CreateDate { get; set; }
}
controller
public class MyController
{
public ActionResult Index()
{
var data = _myRepository.GetYourData();
var viewModel = new OrderDto()
{
UserName = data.UserName,
NameSurname = data.NameSurname,
Phone = data.Phone,
CreateDate = data.CreateDate
};
return View(data)
}
}
Then, in your Kendo grid, use the composite view model (in the example above called OrderDtoViewModel)
@(Html.Kendo().Grid<oko.Models.OrderDtoViewModel>().Name("NewOrders").Columns(columns =>
{
columns.Bound(s => s.Username);
columns.Bound(s => s.NameSurname);
columns.Bound(s => s.Phone);
columns.Bound(s => s.CreateDate).Format("{0:dd/MM/yyyy}");
})
source
share