Telerik的TreeList中没有“要显示的记录”

时间:2016-03-28 14:56:57

标签: c# telerik asp.net-core asp.net-core-mvc

我有简单的TreeList,我想填充一些值。 我的TreeList:

@(Html.Kendo().TreeList<Book>()
            .Name("BooksTreeList")
            .Columns(columns =>
            {
                columns.Add().Field(c => c.BookName);
                columns.Add().Field(c => c.BookAuthor);
            })
            .Filterable()
            .Sortable()
            .DataSource(dataSource => dataSource
                .Read(read => read.Action("ReadAllBooks", "Catalog"))
                .ServerOperation(false)
                .Model(m =>
                {
                    m.Id(c => c.BookId);
                    m.ParentId(c => c.ParentId);
                    m.Expanded(true);
                    m.Field(x => x.BookId);
                    m.Field(x => x.BookAuthor);
                })
            ))

我的控制器类:

public async Task<IActionResult> ReadAllBooks([DataSourceRequest] DataSourceRequest request)
{
    var result = (await GetAllBooks())
      .ToTreeDataSourceResult(
      request,
      x => x.BookId,
      x => x.ParentId);
    return Json(result);
}
private async Task<List<BookViewModel>> GetAllBooks()
{
   return await _dbContext.Books.Select(x => new BookViewModel()
   {
      BookId = x.CodingId,
      BookName = x.BookName,
      BookAuthor = x.BookAuthor,
      ParentId = x.ParentId
   }).ToListAsync();
}

但是当我进入页面时,即使我有记录,我的树形图也总是显示“没有记录显示”,我在调试器的帮助下检查了它。 我应该如何正确填写我的TreeList?

1 个答案:

答案 0 :(得分:1)

我有相同的错误,然后我使用Guid.Empty作为Root元素。 根元素应该具有ParentId为NULL 。尝试使用Guid?而不是guid,并赋予它NULL。

link:http://www.telerik.com/forums/no-records-to-display-959da9677068