剑道刷新(DropDownList.refresh())不起作用错误未定义

Posted

技术标签:

【中文标题】剑道刷新(DropDownList.refresh())不起作用错误未定义【英文标题】:Kendo Refresh (DropDownList.refresh()) not working ERROR Not define 【发布时间】:2012-08-21 09:46:37 【问题描述】:

我尝试在另一个 DropDownList 更改后刷新下拉列表,但 Refresh() 方法未定义错误正在促进。我再次尝试读取数据源,它显示它正在加载,但数据仍然相同。请帮助解决这个问题。

代码:

$("#DropDownList1").change(function () 
   custCode = $("#DropDownList1").val();

   $("#titles").data("kendoDropDownList").dataSource.read(); //shows list Loading But Same Data Is present .
   $("#titles").data("kendoDropDownList").refresh(); //NOT Working 

);

【问题讨论】:

【参考方案1】:

1- 尝试在 Kendo DropDownList 的数据源读取属性中添加 cache: false 以禁用缓存:

read: 
    url: <<"url">>,
    cache: false

2- 然后拨打read()

$("#ddl").data("kendoDropDownList").dataSource.read();

它对我有用:)

【讨论】:

嗨,它对我不起作用。我的数据来了,问题是 kendoDropDownList 显示旧数据和由于某种原因未定义的刷新方法。 注意:我的下拉菜单没有被 Read 填充。它由表单加载填充。 抱歉我的代码有问题:P【参考方案2】:

对我来说,这行就完成了:

$("#myDropDownList").data("kendoDropDownList").dataSource.read();

【讨论】:

【参考方案3】:

您可能会发现将参数传递给数据源的“.data()”很有用。

例子:

var myDataSource=bookId: 10, Name: "Kendo"
$("#titles").data("kendoDropDownList").dataSource.data(myDataSource);

但是,当您想根据另一个 DropDownList 的选择更新一个 DropDownList 时,您也可以尝试 DropDownList 的 cascadingFrom 属性

//胡迪尼

【讨论】:

【参考方案4】:

在您的阅读网址上添加 '?myDate=' + new Date()。这将刷新数据。没有它(除非你有元标记来防止缓存)它会给你它已经读取的数据。

【讨论】:

【参考方案5】:

就我而言,我评论了这一行

//cascadeFrom: "dropdown1_id"

在第二个剑道下拉菜单中,它起作用了,由于某种原因,它扰乱了数据源更新。

【讨论】:

【参考方案6】:

看起来 Kendo 下拉列表已更改。现在的答案是:

    var dataSource = new kendo.data.DataSource(
        data: my_new_json_list
    );
    var dropdownlist = $("#products").data("kendoDropDownList");
    dropdownlist.setDataSource(dataSource);

参考:https://docs.telerik.com/kendo-ui/api/javascript/ui/dropdownlist/methods/setdatasource

【讨论】:

以上是关于剑道刷新(DropDownList.refresh())不起作用错误未定义的主要内容,如果未能解决你的问题,请参考以下文章

更改数据源时如何刷新剑道网格

剑道网格破坏命令不刷新网格

如何用新数据刷新剑道网格

剑道网格刷新(数据绑定两次)

移动中的剑道网格刷新问题

如何刷新值剑道数字文本框?