【问题标题】:searching middle of string with autocomplete textbox使用自动完成文本框搜索字符串的中间
【发布时间】:2018-03-03 20:14:03
【问题描述】:

我有一个带有数据库表作为自动完成源的文本框,我正在用下面的代码填充自动完成字符串集合,它工作正常,并且在我输入时出现建议,但这仅建议以我的开头的字符串打字,我怎样才能让它建议包含我输入的字符串。

例如,如果我在我的自动完成中有一个颜色列表并且我输入“o”,它会建议像“orange”这样的颜色,但也可以是“violet '

oracmd = New OracleCommand("Select column_name from table", oracon)
Dim ds As New DataSet
orada = New OracleDataAdapter(oracmd)
orada.Fill(ds, "list")
Dim col As New AutoCompleteStringCollection
Dim i As Integer
For i = 0 To ds.Tables(0).Rows.Count - 1
     col.Add(ds.Tables(0).Rows(i)("column_name").ToString())
Next
TextBox1.AutoCompleteSource = AutoCompleteSource.CustomSource
TextBox1.AutoCompleteCustomSource = col
TextBox1.AutoCompleteMode = AutoCompleteMode.Suggest

【问题讨论】:

  • @Jaxi 我不确定我是否做错了什么。我尝试了这个问题的答案,我什至下载了原始源代码,它只是像普通的自动完成一样工作。我在文本框中输入了“o”,它只给了我“一”而不是“二”和“四”等其他结果
  • 在 PL/SQl 中;从表中选择 column_name where upper(column_name) like '%O%;
  • @PrescottChartier 我不想那样做,我不想在每次用户输入内容时继续查询,我只想从表中获取所有可能的数据,将其放在列表中或一些东西,让应用程序处理搜索。

标签: .net vb.net


【解决方案1】:

您需要使用 LIKE 查询数据集或数据表。例如:

GridView1.DataSource = ds.Select("column_name like  '%" & TextBox.Text & "%'")

【讨论】:

    猜你喜欢
    • 2018-02-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-20
    • 2019-08-06
    • 2018-07-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多