Kendo数据源:add方法清除现有数据

时间:2015-04-16 17:01:31

标签: kendo-ui kendo-dropdown

下面的代码获取我的类别列表并显示它们。但是,当我取消注释代码的中间行以添加"所有类别"输入然后所有其他类别消失,它只显示插入的"所有类别"条目。

var categoryDataSource = new kendo.data.DataSource({
    transport: { read: resolveUrl('~/Catalog/Categories') },
});

//categoryDataSource.insert({ "Title": "All Categories", "OID": "0" }, 0);

$("#categoriesDropDown").kendoDropDownList({
    dataTextField: "Title",
    dataValueField: "OID",
    dataSource: categoryDataSource
});

我在这里做错了什么?

1 个答案:

答案 0 :(得分:1)

我认为问题是因为dataSource没有完成数据的提取,它没有一组要插入的记录。因此,当您插入一个时,它会破坏将要用作数据集的所有内容。 我可以使用本地数组(http://jsbin.com/xaruka/1/edit?html,js,output)重现行为。

我认为你在设置dataSource后进行读取,它将有内部的项目列表插入。

var categoryDataSource = new kendo.data.DataSource({
    transport: { read: resolveUrl('~/Catalog/Categories') },
});

categoryDataSource.read();

categoryDataSource.insert(0, { "Title": "All Categories", "OID": "0" });

$("#categoriesDropDown").kendoDropDownList({
    dataTextField: "Title",
    dataValueField: "OID",
    dataSource: categoryDataSource
});

工作样本http://jsbin.com/xaruka/2/edit?html,js,output