gpt4 book ai didi

javascript - 如何使用新数据刷新剑道网格

转载 作者:行者123 更新时间:2023-12-02 14:05:53 28 4
gpt4 key购买 nike

加载剑道网格后,我想通过单击按钮刷新/重新加载新数据的网格。

Controller :

    using Kendo.Mvc;
using Kendo.Mvc.Extensions;
using Kendo.Mvc.Infrastructure;
using Kendo.Mvc.UI;

public ActionResult FollowUpGrid_Read([DataSourceRequest]DataSourceRequest request, string name, string id)
{
List<vmFollowUpGrid> FUPList = new List<vmFollowUpGrid>();
FUPList = (from u in db.usrUserBldgLists
join e in db.entEntities on u.EntID equals e.EntID
join d in db.entDistricts on e.FANo equals d.DistNo
join ed in db.entDistricts on e.OANo equals ed.DistNo
join b in db.entBuildings on e.OBNo equals b.BuildNo
where u.UserID == "A1036719" && u.FANO == id
select new vmFollowUpGrid { FANo = u.FANO, FAName = d.DistrictName, OANo = u.OANO, District = ed.DistrictName, OBNo = u.OBNo, Building = b.BuildName}).Take(50).ToList();
var FUList = FUPList.ToDataSourceResult(request);
return Json(FUList, JsonRequestBehavior.AllowGet);
}

cshtml 页面:

        @(Html.Kendo().Grid<MDEFollowUp.Models.vmFollowUpGrid>()
.Name("FollowUpGrid")
.Columns(columns =>
{
columns.Bound(p => p.FANo);
columns.Bound(p => p.FAName);
columns.Bound(p => p.OANo);
columns.Bound(p => p.District);
columns.Bound(p => p.OBNo);
columns.Bound(p => p.Building);
})
.Pageable(pageable => pageable
.Refresh(true)
.PageSizes(true)
.ButtonCount(5))
.Sortable()
.Scrollable()
.Filterable()
.DataSource(dataSource => dataSource
.Ajax()
.PageSize(20)
.Read(read => read.Action("FollowUpGrid_Read", "FollowUp").Data("additionalAgencyInfo")))
)

然后单击按钮事件以使用新数据刷新网格,但这似乎无法识别网格分配。

            $("#btnclick").click(function () {

var grid = $("#FollowUpGrid").data("tGrid");
var params = {
name: "Agency",
id: "63190"
};
var dataSource = new kendo.data.DataSource({ data: params });
//grid.rebind(params);
grid.setDataSource(dataSource);
})

我应该如何在按钮中分配网格来完成此操作?

最佳答案

在所描述的场景中需要处理两个主要任务:

  1. dataSource.data 应该指向一个数组,而不是一个对象
  2. 如果新数据具有完全不同的字段,您还需要替换网格列

设置新数据源和新列的可能方法是通过 setOptions .

这是一个例子:

http://dojo.telerik.com/oWahO

更新

如果重新加载数据后列保持不变,那么您可以使用以下方法:

$("#btnclick").click(function () {
var grid = $("#FollowUpGrid").data("tGrid");
var params = {
name: "Agency",
id: "63190"
};
grid.dataSource.read(params);
})

这会将 nameid 参数传递给操作方法,并保留现有的 DataSource 实例及其设置。

http://docs.telerik.com/kendo-ui/api/javascript/data/datasource#methods-read

关于javascript - 如何使用新数据刷新剑道网格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40051333/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com