c# - 如果数据库有新行,如何更新 Kendo Grid?
问题描述
我正在制作一个 MVC ASP.NET 应用程序,我想在其中使用 Kendo 可视化数据。我已经可以从数据库加载数据,但现在我想在有新行时自动执行此操作,然后网格必须刷新。但是这样做的正确方法是什么?
我的网格:
@(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));
}
希望你们能帮帮我。
解决方案
推荐阅读
- c# - 截图最小化窗口,不使用win32的PrintWindow
- python - 创建一个新行,它是上面行的计算结果 - Pandas DataFrame
- javascript - Date-fns RangeError:时间值无效
- java - 错误 500:实例化 servlet 类时出错
- android - 在没有推送通知的情况下更新应用程序图标上的徽章计数
- html - 为什么内部弹性宽度溢出?
- prolog - Prolog - 使用累加器查找第 N 个斐波那契数
- javascript - React setState:回调子组件的功能
- python - 给定具有两个纬度/经度值的DataFrame,如何使用geopandas返回多行
- android - 尝试在空对象引用上调用虚拟方法“void androidx.recyclerview.widget.RecyclerView.setLayoutManager()”