1

我正在尝试从 Dojo FilteringSelect 中删除重复项,而不更改附加的 itemFileReadStore 数据存储的内容。如果确实可能的话,我似乎找不到任何关于如何做到这一点的信息。

我想我可能必须扩展 FilteringSelect Dijit 并自己提供功能,但我希望不必这样做。

我尝试使用 FilteringSelect 而不是数据存储删除重复项的原因是因为我使用相同的数据存储和 FitleringSelect 的三个实例,每个实例显示来自存储的每一行的不同值。

4

1 回答 1

1

如果您的商店 FilteringSelect searchAttr 与您的数据商店“标识符”中的相同,您将在下拉列表中看到一组唯一的值。

例如,如果您将标识符从 myStore 更改为“color”,您的下拉菜单将仅显示红色、橙色和黄色,而不是重复的黄色。

这就是为什么,如果您在 FilteringSelect 中使用此商店定义并将 searchAttr 设置为“Fruit”,您将只看到两个值;橙子和苹果


var myStore = new dojo.data.ItemFileReadStore({
                url: 'data.json'
            });
<div dojoType="dijit.form.ComboBox" store="myStore" id="fsKeywords" searchAttr="name" onChange="filterGrid()"></div>


data.json 文件:

    

{
    identifier: "Fruit",
    label: "Name",
    items: [
         {
              "Fruit":"orange",
              "color":"red",
          "size":"small"
    },
         {
              "Fruit":"orange",
              "color":"orange",
          "size":"big"
    },
         {
              "Fruit":"orange",
              "color":"yellow",
          "size":"small"
    },
        {
              "Fruit":"apple",
              "color":"yellow",
          "size":"small"
    }
]}

我想知道是否有办法以编程方式更改商店标识符

于 2010-11-02T18:47:56.977 回答