剑道数据源:添加方法清除现有数据



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

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
});

我在这里做错了什么?

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

我认为您在设置数据源后进行读取,它将具有要插入的内部项目列表。

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

最新更新