Как обновить Kendo Grid, если в базе данных есть новая строка? - PullRequest
0 голосов
/ 14 апреля 2020

Я создаю приложение MVC ASP. NET, в котором я хочу визуализировать данные с помощью Kendo. Я уже могу загрузить данные из базы данных, но теперь я хочу автоматизировать это, когда появится новая строка, тогда сетка должна обновить sh. Но как правильно это сделать?

Моя сетка:

@(Html.Kendo().Grid<NFC.Areas.Admin.ViewModels.Grids.ObjectDetectionGrid>()
  .Name("grid")
  .Columns(columns =>
  {
      columns.Bound(c => c.Id)
        .Width(100)
        .MinScreenWidth(1020);
      columns.Bound(c => c.DetectionTime)
        .Format("{0:d-M-yyyy H:mm:ss}")
        .MinScreenWidth(1500);
      columns.Bound(c => c.Score)
        .MinScreenWidth(1500);
      columns.Bound(c => c.Name)
        .MinScreenWidth(1500);
      columns.Bound(c => c.Id)
        .Title("Image")
        .ClientTemplate("<img class='img-responsive' src='Detections/GetImage?Id=#: Id #' />");
  })
  .Sortable()
  .Pageable(x => x.PageSizes(new List<object> { 10, 20, 50, 100, 250, 500, "all" }).Refresh(false))
  .Filterable()
  .Sortable()
  .DataSource(dataSource => dataSource
      .Ajax()
      .Model(model => {
          model.Id(p => p.Id);
      })
      .Sort(s => s.Add(x => x.Id).Descending())
      .Events(events => events.Error("kendoGrid_ErrorHandler"))
      .Read(read => read.Action("KendoGrid_Read", "Detections"))
  )
)

Функция чтения моего контроллера:

 public ActionResult KendoGrid_Read([DataSourceRequest]DataSourceRequest request)
    {
        IQueryable<ObjectDetectionGrid> detections = db.ObjectDetections.Select(x => new ObjectDetectionGrid()
        {
            Id = x.Id,
            DetectionTime = x.DetectionTime,
            Name = x.Name,
            Score = x.Score
        });

        return Json(detections.ToDataSourceResult(request));
    }

Надеюсь, вы, ребята, можете мне помочь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...