从搜索结果中删除所选项目

发布于 2025-01-03 03:03:26 字数 244 浏览 0 评论 0原文

用例:

  1. 最终用户搜索某些内容,并返回 ArrayCollection 和 Result 对象。这显示在数据网格中。
  2. 最终用户选择一些搜索结果并将其“移动”到另一个数据网格以供以后使用。
  3. 最终用户进行另一次搜索。

问题: 某些搜索结果可能包含用户之前已选择并移至第二个数据网格的内容。我想从第二个搜索结果中删除这些。

如何在 Flex 代码中快速、高效地完成此操作?

Use Case:

  1. End-User searches for something and an ArrayCollection is returned with Result objects. This is displayed in a data grid.
  2. End-User selects a few of the search results and "moves" it over to another datagrid for use later.
  3. End-User does another search.

PROBLEM:
Some of the search results might contain something the user already previously selected and moved over to the second datagrid. I want to remove these from the second search result.

How can I do this quickly, and efficiently in Flex code?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

靑春怀旧 2025-01-10 03:03:26

两个数组集合上的disableAutoUpdate()

循环遍历第一个数组,并且对于第二个数组的每个项目,如果它存在于第一个数组中,则将其删除(或根据您真正想要的内容调整算法 - 不确定)

最后启用AutoUpdate()。

如果没有调度任何事件,则循环遍历数组集合可能会很快。

第二种选择,您还可以循环遍历由数组(即 arraycollection.source.concat())组成的廉价副本,如果所有项目都属于同一类型,甚至可以循环遍历向量。这将提供最大速度,但从长远来看,您可能会失败,因为您最终需要转换回数组集合。

所以我会坚持第一个选择。

disableAutoUpdate() on both array collection

loop through the first one and for each item of the second remove it if it's present in the first one (or adapt the algorithm based on what you really want - unsure)

enableAutoUpdate() at the end.

Looping through array collection can be quick if no events are dispatched.

Second option, you could also loop through a cheap copy made up of an array, which is arraycollection.source.concat(), or even a vector if all your items are of the same type. That will give the maximum speed, but you might lose in the long run as you need to convert back to an array collection at the end.

So I would stick to the first option.

铁轨上的流浪者 2025-01-10 03:03:26

目前,我已经实现了一个哈希集合(扩展了ArrayCollection)。哈希仅允许唯一值,因此最终,它满足了我的目的,尽管 UI 可能会让用户感到困惑。以后可能会实现上述方法。 :)

For the time being, I've implemented a hash collection (extends ArrayCollection). Hash only allows unique values, so in the end, it serves my purpose even though the UI might be confusing to the user. Will probably implement the above method at a later date. :)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文