0

APS.NET MVC でフィルタ オプション付きの Kendo UI グリッドを使用したいと考えています。

私の例では、データベースをデータソースとして使用し、学生テーブルを使用します

学生クラスを

public ActionResult Index()
    {
        var std = (from p in db.Students
                select p).ToList();
        return View("Student", std);
    }

全て大丈夫。

しかし、ViewModel をデータソースとして使用したい場合、実行時にフィルター アイコンをクリックするとフィルター ウィンドウが開きますが、フィルターのドロップダウン リストに何も表示されません。

オートマッパーとバリューインジェクターを使用しています。

この問題を解決するための提案はありますか?

添付

PersonController.cs

public class PersonController : Controller
{

    Adventureworks2012DataContext db = new Adventureworks2012DataContext();

    public ActionResult Index()
    {
        /*var prs = (from p in db.Person
                   select p).ToList();*/
        return View(GetPersonViewModel());
    }

    public ActionResult PersonViewModel_Read([DataSourceRequest]DataSourceRequest request)
    {
        return Json(GetPersonViewModel().ToDataSourceResult(request));
    }

    private  IList<PersonViewModel> GetPersonViewModel()
    {
        return db.Person.Project().To<PersonViewModel>().ToList();
    }    
}

インデックス.cshtml

@model IList<DevartLinqTestMVC.ViewModel.PersonViewModel>
@{
ViewBag.Title = "Person List";}

<br />
@(Html.Kendo().Grid(Model)
    .Name("Grid")
    .Columns(columns =>
    {
        columns.Bound(p => p.Businessentityid);
        columns.Bound(p => p.Persontype);
        columns.Bound(p => p.Namestyle);
        columns.Bound(p => p.Title);
        columns.Bound(p => p.Firstname);
        columns.Bound(p => p.Middlename);
        columns.Bound(p => p.Lastname);
        columns.Bound(p => p.Emailpromotion);
    })
    .Groupable()
    .Pageable()
    .Sortable()
    .Scrollable()
    .Filterable()
    .Selectable()
    .DataSource(dataSource => dataSource
                                    .Ajax()
                                    .Model(m => m.Id(s => s.Businessentityid))
                                    .PageSize(20)
                                    .Read(read => read.Action("PersonViewModel_Read", "Person")))
)

すべてが良く、Ajaxも完璧に動作します

しかし、フィルタードロップダウンリストはどこですか?!!!

4

1 に答える 1