首页 文章

Kendo网格数据没有绑定

提问于
浏览
2

我正在尝试使用SQL中的数据绑定Kendo Grid . 该表出现但未填充任何数据 . 我无法弄清楚出了什么问题 . 我感谢所有的帮助!

这是我的控制器:

public ActionResult Test()
{
    return View();
}

[HttpGet]
public ActionResult Test_Read([DataSourceRequest] DataSourceRequest request)
{
    return Json(GetCountries().ToDataSourceResult(request), JsonRequestBehavior.AllowGet);
}

[NonAction]
private IQueryable<CountryViewModel> GetCountries()
{
    return from user in database.Countries
           select new CountryViewModel
           {
               Id = user.Id,
               Name = user.Name,
           };
}

这是我的ViewModel:

public class CountryViewModel
{
    public int Id { get; set; }
    public string Name { get; set; }
}

这是实体模型数据向导自动生成的模型:

public partial class Country
{
    public Country()
    {
        this.Cities = new HashSet<City>();
        this.Regions = new HashSet<Region>();
    }

    public int Id { get; set; }
    public string Name { get; set; }
    public System.DateTime CreatedDate { get; set; }

    public virtual ICollection<City> Cities { get; set; }
    public virtual ICollection<Region> Regions { get; set; }
}

这是视图:

@(Html.Kendo().Grid<Traveler.Models.CountryViewModel>()
      .Name("grid")
      .DataSource(dataSource => dataSource
          .Ajax()
          .PageSize(20)
          .Model(model => model.Id(p => p.Id))
          .Read(read => read.Action("Test_Read", "Home").Type(HttpVerbs.Get))
       )

      .Columns(columns =>
      {
          columns.Bound(user => user.Id).Width(100);
          columns.Bound(user => user.Name).Width(100);
      })
      .Pageable()
      .Sortable()
      .ColumnMenu()
      .Resizable(resize => resize.Columns(true))
      .Scrollable()
      .HtmlAttributes(new { style = "height:100%;" })
      .Filterable()
      .Reorderable(reorder => reorder.Columns(true))
      .ColumnMenu()
      .Pageable(p => p.Enabled(true).Input(true).PageSizes(new[] { 10, 20, 50 }).Refresh(true))
)

1 回答

  • 0
    @(Html.Kendo().Grid<Traveler.Models.CountryViewModel>()
          .Name("grid")
         .EnableCustomBinding(true)
          .DataSource(dataSource => dataSource
              .Ajax()
              .PageSize(20)
              .Read(read => read.Action("Test_Read", "Home"))
           )
          .Columns(columns =>
          {
              columns.Bound(user => user.Id).Width(100);
              columns.Bound(user => user.Name).Width(100);
          })
          .Pageable()
          .AutoBind(true)
          .Sortable()
          .Resizable(resize => resize.Columns(true))
          .Scrollable()
          .Filterable()
          .Reorderable(reorder => reorder.Columns(true))
    )
    

    我已经更改了一些代码,请检查这是否有帮助 .

相关问题