【问题标题】:TEdit with autocomplete / suggestion list带有自动完成/建议列表的 TEdit
【发布时间】:2014-11-26 02:04:49
【问题描述】:

一直想知道有没有类似jQuery自动完成功能的TEdit组件:http://jqueryui.com/autocomplete/

我想给它附加一个函数,该函数将使用 LIKE 命令通过许多字段搜索数据库。然后我会返回一个匹配记录列表。也许是一些 DevExpress 组件?我正在考虑创建自己的组件(例如 TEdit 下面的无边界表单)

【问题讨论】:

  • 为此目的存在许多组件,因此添加您自己的组件似乎有点过于复杂。 (另外:如果在 D7 早期没有为此目的没有特定组件时我的记忆没有让我失望,我们会使用带有 csSimple 样式的组合框或类似的东西。)
  • 我希望有一个组合框(从用户体验的角度来看)。一个组合框,其中包含按其编辑中所写内容过滤的项目。有时我会忘记我想要搜索的内容,并且会因为 jQuery 自动完成编辑而迷失方向。

标签: delphi autocomplete


【解决方案1】:

底层编辑控件对此提供支持,如文档中所述:Using AutocompleteHow to Enable Autocomplete Manually

这对您来说有点棘手,因为您需要编写自己的自动完成源代码。这将涉及大量的 COM 编程。我不知道有任何众所周知的 VCL 包装器可以为您简化此过程。我建议您从 MSDN 链接中的 C++ 代码开始,然后让它工作。您更有可能找到基于 C++ 代码的现成示例。一旦你可以用 C++ 做到这一点,它应该相对简单地转换为 Delphi。

【讨论】:

  • 您将无法使用IAutoComplete 实现全文 搜索(jQuery 组件所做的)。它从头开始匹配文本;这就是为什么我写了this 一堆丑陋的代码(例如)。
【解决方案2】:

使用“mru 编辑”或“查找组合框”

【讨论】:

    猜你喜欢
    • 2014-08-18
    • 1970-01-01
    • 1970-01-01
    • 2011-08-24
    • 1970-01-01
    • 2018-07-21
    • 2021-08-04
    • 2020-02-14
    • 2014-01-14
    相关资源
    最近更新 更多