当前位置: 首页 > 知识库问答 >
问题:

如何通过键入-incremental search缩小组合框中的选项列表

督翰学
2023-03-14

我有一个组合框,里面有数百个项目。用户必须能够在组合框中键入文本。当用户键入文本时,必须选择或列出以键入的值开始的项目。用户必须能够连续输入。我的组合框DropDownStyle是DropDownList

E、 g:通过键入在comboBox中选择名称时,它只允许一个字母。因此,如果我键入“A”,它将跳转到以“A”开头的第一个字母。当我连续键入时,组合框中选定的项目会根据当前按键而改变。如果我按“As”,组合框查看以“s”开头的项目。

共有2个答案

沈琛
2023-03-14

您必须挂钩到TextChanged事件。当文本发生变化时,过滤列表(使用DataView)并获取第一个结果的文本,将组合框的文本设置为该文本。当然,您必须在处理程序中进行检查,以确定是否处理该事件(当您更改文本时,将会触发另一个TextChanged事件)。当然,您还希望突出显示他们输入的文本,并将插入符号放在适当的位置。

管峻
2023-03-14
comboBox1.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDown;
comboBox1.AutoCompleteMode = AutoCompleteMode.SuggestAppend;
comboBox1.AutoCompleteSource = AutoCompleteSource.ListItems;
 类似资料:
  • 这是我第二次发布相同的问题,直到现在都没有得到答案。 我有一个组合框,下面是商店(ExtJs 2.3) 组合存储: 分配 会议 工资 我在键上过滤组合,这样“薪水”项就不会显示在列表中,它工作正常。但是由于组合框项也可以通过键入iside combobox来选择,所以我在组合框的keyUp和beforeQuery上编写了以下代码。 这成功地过滤掉了“薪水”选项,但现在我无法像以前一样通过键入内部组

  • 问题内容: 我的印象是,除了选择列表中已经存在的任何值之外,您还可以键入一个组合框。但是,我似乎找不到有关如何执行此操作的信息。我需要添加一个属性以允许输入文本吗? 问题答案: 在此之前(请参见下面的注释),您将提供其他元素供人们输入自己的选项。 该机制 可在所有浏览器中使用,并且不需要JavaScript 。 如果选择了“其他”选项,您可以使用一点JavaScript来聪明地仅显示。 该元素旨在

  • 我有一个网页渲染使用extjs。它用一些生成的ID呈现多个组合框。和每个组合框都选择了不同的选项。我怎样才能找出在每个组合中选择了哪个值? 在调试HTML DOM时,我观察到ExtJS呈现DIV是不同的,可选择的选项在最后呈现在不同的DIV中。因此,我无法定义任何XPath来找出所选值。

  • 表的复合键是symbol和“datetime”(它只是一个时间戳)。这两列在dynamodb中都设置为字符串。 我收到的错误是:提供的键元素与模式不匹配

  • 问题内容: 我有一个带有组合框的UI。每次组合将要打开列表时,必须刷新可以选择的项目列表。 有什么办法-即添加一个侦听器,该侦听器将通知UI Combo即将打开? 不幸的是,当列表更改时,我无法观察模型来更新列表。 问题答案: 不幸的是,SWT组件没有这种方法。在Swing中,借助于PopupMenuListener接口将很容易。 我可以想到的一种解决方法是实现MouseListener和Keyb

  • 所以,我有一个奇怪的问题,我从组合框列表中选择一个项目,为了填充第二个组合框,我必须首先从第一个组合框中再次选择单词,而不是从项目列表中,而是单词本身。只有这样,代码才会注册我选择了该项目。我拥有的代码是简单的$variable.SelectedItem。参见下面的代码; 我想做的就是从下拉列表中选择位置“医院”,然后第二个名为“$ComboBox_Printer”的组合框填充我服务器中的打印机名