【发布时间】: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 我不想那样做,我不想在每次用户输入内容时继续查询,我只想从表中获取所有可能的数据,将其放在列表中或一些东西,让应用程序处理搜索。