什么是加载最好的办法/滤波器/订购剑道网格以下类:如何使用Kendo UI Grid与ToDataSourceResult(),IQueryable <T>,ViewModel和AutoMapper?
域:
public class Car
{
public virtual int Id { get; set; }
public virtual string Name { get; set; }
public virtual bool IsActive { get; set; }
}
视图模型
public class CarViewModel
{
public virtual int Id { get; set; }
public virtual string Name { get; set; }
public virtual string IsActiveText { get; set; }
}
AutoMapper
Mapper.CreateMap<Car, CarViewModel>()
.ForMember(dest => dest.IsActiveText,
src => src.MapFrom(m => m.IsActive ? "Yes" : "No"));
的IQueryable
var domainList = RepositoryFactory.GetCarRepository().GetAllQueryable();
DataSourceResult
var dataSourceResult = domainList.ToDataSourceResult<Car, CarViewModel>(request,
domain => Mapper.Map<Car, ViewModel>(domain));
网格
...Kendo()
.Grid<CarViewModel>()
.Name("gridCars")
.Columns(columns =>
{
columns.Bound(c => c.Name);
columns.Bound(c => c.IsActiveText);
})
.DataSource(dataSource => dataSource
.Ajax()
.Read(read => read.Action("ListGrid", "CarsController"))
)
.Sortable()
.Pageable(p => p.PageSizes(true))
好的,电网负载PE rfectly首次,但是当我通过IsActiveText
我收到以下消息过滤器/顺序:
无效的属性或字段 - “IsActiveText”类型:汽车
什么是最好的办法这种情况?
什么是初始化网格的代码? – CodingWithSpike 2013-05-10 22:08:42
我编辑了主题。 – rGiosa 2013-05-10 22:32:51