【问题标题】:Kendo MVC Group PagingKendo MVC 组寻呼
【发布时间】:2021-11-23 19:39:16
【问题描述】:

我有一个剑道网格,可以显示超过一百万条记录,并且在初始加载时,显示需要一分钟多的时间。 如何使用 kendo Grouppaging 功能来最小化加载时间,以便页面按需加载组项目?展开组时会加载组项。任何其他加快速度的选择也值得赞赏。 它的基本作用是根据下拉值绘制剑道网格

    <div>
    @(Html.Kendo().DropDownList()
      .Name("samplegrid")
      .DataTextField("samplegrid")
      .DataValueField("samplegrid")
      .HtmlAttributes(new { style = "width:90%" })
      .DataSource(source => source
        .Custom()
        .Transport(transport => transport
           .Read(read =>
         {
            read.Action("infoDropdown_Read", 
  "sample").Type(HttpVerbs.Get);
        })))
    .Events(e =>
    {
        e.Select("onCheckSelectForDetail");
    })
  )
</div>

这是网格的代码。

    @(Html.Kendo().Grid<Portal.Data.Models.InfoModel>()
.Name("gridSummary")
.DataSource(dataSource => dataSource

    .Ajax()

    .Aggregates(aggregates =>
    {
        aggregates.Add(p => p.OutstandingCount).Sum(); 
    })
    .Group(groups =>
    {
        groups.Add(p => p.OfficeNumber);
    })

    .Batch(true)

    .ServerOperation(false)

    .Sort(sort => sort.Add(column => column.Date))
)

.Columns(columns =>
{
    columns.Bound(c => c.OfficeState).Width(70)
        .Title("xxxx");

    columns.Bound(c => c.OfficeNumber).Width(70)
        .Title("zzzz");

    
      columns.Bound(c => c.OutstandingCount).Width(60)
           .Title("yyyy");
  })

)

控制器看起来像

  public async Task<IActionResult> infoDropdown_Read(){
    try{
      var infoListSR = await _eService.GetInfoListAsync();
      if (infoListSR.Failed){
          Log.Error($"Unexpected error occured due to 
          {infoListSR.ErrorData.ApplicationErrorMessage}");
          throw new DataException($"{infoListSR.ErrorData.ApplicationErrorMessage}");
  }

      return Json(infoListSR.ResultData, new JsonSerializerOptions() { 
      PropertyNameCaseInsensitive = false});
 }
 catch (Exception ex){
      Log.Error($"Username: {User.Identity.Name} - Dropdown list Failed with 
      Exception: {ex}");
      return StatusCode(StatusCodes.Status500InternalServerError);
 }

}

【问题讨论】:

    标签: asp.net-core kendo-ui telerik kendo-grid kendo-asp.net-mvc


    【解决方案1】:

    一个提高性能的选项,您可以将服务器分组与虚拟化一起使用:

    Demo

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-06-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-19
      • 2011-03-31
      相关资源
      最近更新 更多