我的应用程序中有一些查询搜索过滤器 . 从过滤器我想将json结果呈现为一个kendo网格 . 出于这个原因,我不使用网格的默认 DataSource.Read() ,而是使用Ajax请求,我将结果绑定到网格,如下所示:
剑道网格:
@(Html.Kendo().Grid<List<SearchSpecialtiesResult>>()
.Name("grid")
.Columns(columns =>
{
columns.Bound(c => c.Id).Hidden();
columns.Bound(c => c.Code).Width(100);
// Some other columns
})
//Some events and filtering options
.DataSource(dataSource => dataSource
.Ajax()
.ServerOperation(false)
.Model(model =>
{
model.Id(p => p.Id);
// other model values
})
)
)
在Ajax上设置dataSource成功
var datasource = new kendo.data.DataSource({ data: resultData });
$("#grid").data("kendoGrid").setDataSource(datasource);
绑定发生正确然而我使用的其他地方 DataSource.Read() 网格显示加载效果,我找不到如何重现到我的页面,我使用这个地方我们用于Ajax请求的一些其他加载效果 . 有没有办法在我的情况下重现它?
2 回答
我的申请也有这样的案例 . 我处理它们的方式也是通过kendo.ui.progress($("#gridDame"),true) . 为了完成答案,我将通过将过滤器输入值作为附加数据传递给我的Read请求来发布我处理它们的方式以及我现在使用网格 DataSource.Read() 处理它们的方式 .
First way:
我对所有gridRequests都进行了一般的Ajax调用
我用我的搜索表单的参数点击了我的按钮
Second way:
我像这样设置我的 Datasource.Read() :
并且总是Autobind(false)为了不在第一次加载时读取
在函数getFilterInputValues中,我得到了我的搜索表单值:
最后,我在单击按钮时触发网格的DataSource.Read()
使用 Datasource.Read() 显然可以正常工作,并在您的问题中提到旋转效果 .
你在找
kendo.ui.progress
. 单击here获取Telerik的文档 .在运行ajax调用之前,添加以下内容以显示加载效果:
成功或失败后,添加以下内容以删除加载效果: