Kendo ui 如何在不影响共享相同数据源的其他Dropdownlist的情况下修改特定Kendo Dropdownlist的选项?

Kendo ui 如何在不影响共享相同数据源的其他Dropdownlist的情况下修改特定Kendo Dropdownlist的选项?,kendo-ui,Kendo Ui,我有3个剑道下拉列表,它们共享相同的数据源。我需要从dropdownlist中删除一个特定的选项,比如第一个()选项,但在其他两个选项中保留相同的选项。我尝试使用删除该选项 $(dropDownListObject).data(“kendoDropDownList”)数据源.remove(itemToRemove) 方法,但这从所有dropdownlist中删除了该选项。我怎样才能做到这一点 Data Source : ------------------- var data = [ {

我有3个剑道下拉列表,它们共享相同的数据源。我需要从dropdownlist中删除一个特定的选项,比如第一个()选项,但在其他两个选项中保留相同的选项。我尝试使用删除该选项

$(dropDownListObject).data(“kendoDropDownList”)数据源.remove(itemToRemove)

方法,但这从所有dropdownlist中删除了该选项。我怎样才能做到这一点

Data Source :
-------------------
var data = [
    {Code: "<--Select-->", value:"-1"},
    {Code: "Option 1", value:"1"},
    {Code: "Option 1", value:"2"},
    {Code: "Option 1", value:"3"},
    {Code: "Option 1", value:"4"},
]; 

Snippet where I am trying to remove the option :
-------------------------------------------------------

root.find('.dropdown').each(function (index, item) {
    var dropdown = $(item).data("kendoDropDownList");
    if (dropdown) {
        if ((dropdown.element.attr('removeOption') == "true")) {
            $('#'+dropdown.element.attr('id') + 'option[value="-1"]').each(function () {
                var itemToRemove = $(item).data("kendoDropDownList").dataSource.at(0);
                $(item).data("kendoDropDownList").dataSource.remove(itemToRemove);
            });
        }
    }
});
数据源:
-------------------
风险值数据=[
{代码:,值:“-1”},
{代码:“选项1”,值:“1”},
{代码:“选项1”,值:“2”},
{代码:“选项1”,值:“3”},
{代码:“选项1”,值:“4”},
]; 
尝试删除选项的代码段:
-------------------------------------------------------
root.find('.dropdown')。每个(函数(索引,项){
var下拉列表=$(项目).data(“kendoDropDownList”);
如果(下拉列表){
if((dropdown.element.attr('removeOption')=“true”)){
$(“#”+dropdown.element.attr('id')+”选项[value=“-1”]”)。每个(函数(){
var itemToRemove=$(item.data(“kendoDropDownList”).dataSource.at(0);
$(item).data(“kendoDropDownList”).dataSource.remove(itemToRemove);
});
}
}
});

由于克隆是一种选择,我建议创建3个不同的
数据源。这样,后面的所有数据都将是独立的,您不必担心在共享数据源中可能发生的任何其他数据操作(例如:筛选或排序)

var数据=[
{代码:,值:“-1”},
{代码:“选项1”,值:“1”},
{代码:“选项1”,值:“2”},
{代码:“选项1”,值:“3”},
{代码:“选项1”,值:“4”},
]; 
var dataClone=jQuery.extend(true,{},data);
//使用dataClone而不是data创建数据源

您真的必须共享数据源吗?你不能改为克隆数据吗?@the_Black_Smurf:克隆是我一直在考虑的,但我不知道如何克隆驻留在列表缓存中的数据源?我正在从列表缓存填充要下拉列表的数据。你能告诉我克隆列表缓存数据的步骤吗?谢谢你的指导。这给了我继续前进的想法。我会努力的。再次感谢你。
var data = [
    {Code: "<--Select-->", value:"-1"},
    {Code: "Option 1", value:"1"},
    {Code: "Option 1", value:"2"},
    {Code: "Option 1", value:"3"},
    {Code: "Option 1", value:"4"},
]; 

var dataClone = jQuery.extend(true, {}, data);

//Create your dataSource with dataClone instead of data