gpt4 book ai didi

javascript - 将数据绑定(bind)到kendo dropdownlist

转载 作者:行者123 更新时间:2023-12-03 06:00:45 26 4
gpt4 key购买 nike

我有一个剑道网格,其中有一列有一个自定义过滤器模板,它是一个下拉列表。我在将数据填充到下拉列表中时遇到问题。

我想要的是让选项成为该列中所有记录的所有唯一值。

附带问题:是否有更简单的方法可以使用列的唯一值填充下拉列表?由于这是放置在下拉列表中最合乎逻辑的内容,我希望可能有一些内置的方式?

我想做的是让它调用一个服务,该服务返回指定选项的 JSON。

下面我尝试根据谷歌搜索对数据列字段进行编码的三种方法,这些搜索导致了这个论坛上非常古老的主题,这就是为什么我希望有一种简单的方法。前两个不起作用,但第三个(硬编码)起作用。

1) 此调用到达服务器并返回 JSON,但不会填充下拉列表。

 {
"field": "location_name",
"title": "Location",
"filterable": {
cell: {
template: function (args) {
args.element.kendoDropDownList({
dataTextField: "optionText",
dataValueField: "optionValue",
valuePrimitive: true,
dataSource: {
transport: {
read:
function(options) {
$.ajax({
type: "GET",
url: "/Patrol/Report.aspx/GetOptions",
data: "d",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (msg) {
alert(msg.d);
return msg; //tried with and without the return
}
});
}
}
}
});
},
showOperators: false
}
}

2) 此调用根本不会到达服务器

        {
"field": "location_name",
"title": "Location",
"filterable": {
cell: {
template: function (args) {
args.element.kendoDropDownList({
dataTextField: "optionText",
dataValueField: "optionValue",
valuePrimitive: true,
dataSource: {
transport: {
read: {
dataType: "jsonp",
url: "/Patrol/Report.aspx/GetOptions",
}
}
}
});
},
showOperators: false
}
}

3)对数据源数据进行硬编码:这可以正常工作

    {
"field": "location_name",
"title": "Location",
"filterable": {
cell: {
template: function (args) {
args.element.kendoDropDownList({
dataTextField: "optionText",
dataValueField: "optionValue",
valuePrimitive: true,
dataSource:
[{"optionText": "HP","optionValue": "HP"}, {"optionText": "Loc2","optionValue": "ID2"}]
});
},
showOperators: false
}
}

最佳答案

场景1不起作用,因为您需要在$.ajax()的成功回调中调用options.success(...your data...) >:

http://docs.telerik.com/kendo-ui/framework/datasource/crud#read-loc ‌​al

关于javascript - 将数据绑定(bind)到kendo dropdownlist,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39757912/

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