【问题标题】:What is the best logic for making the Filtering System like in Excel?在 Excel 中制作过滤系统的最佳逻辑是什么?
【发布时间】:2014-02-04 07:17:02
【问题描述】:

我有一个列表字符串数组来保存表格数据,我们预先知道有 2 个字段项目及其价格:

String[] myArr1={"car","12014"};
String[] myArr2={"book","120"};
String[] myArr3={"chair","500"};
String[] myArr4={"car","510"};
String[] myArr5={"book","50"};

上面所有的String数组都应该放入一个List中。

然后我想做一个类似于Excel的过滤系统,例如当用户点击Item列时会弹出一个Panel&看起来像这样:

外部文本:_____(用户可以输入数据和列表应显示的文本框 仅与该数据匹配的行) (项目列中所有唯一文本的复选框列表,如果用户 取消选中然后将删除包含该数据的所有行,就像在 Excel 中一样。) [x] 车 [x] 书 [x] 椅子

这个问题不是关于特定语言的,因为我只是想知道构建这个系统的逻辑。逻辑应该优雅、简单、合理且易于编码。

【问题讨论】:

    标签: algorithm user-interface


    【解决方案1】:

    我个人会存储一袋列值(Java 中的Set)。 Java 中的LinkedHashSet 将按输入的顺序存储它们,因此您可以按字母顺序排列值。这将是关于列中值的元数据。

    这样做的好处是Sets 可以快速访问,并且只允许唯一值,因此您的唯一值列表不会以与列中的值相同的速度增长(除非所有值都是唯一的)

    【讨论】:

    • 太简短了,我需要更多信息
    • 您还需要什么信息?
    • 当用户在文本框中输入数据时,系统需要相应地勾选或取消勾选数据,如何优雅地做到这一点?
    • 嗯,你有一个值列表。假设您的列中的值没有任何特定的顺序,您只需对其进行迭代并选中需要检查的框。如果列中的值是有序的,那么您可以使用多种搜索算法之一来节省一些时间
    猜你喜欢
    • 2019-07-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多