我想知道是否有任何方法可以使用数据库中的动态数据为文本框创建动态自动完成功能?
像ASP.NET中的jQuery / ajax?
由于
答案 0 :(得分:0)
首先使用Array创建AutoCompleteStringCollection
添加自己的建议。将此集合设置为textBox AutoCompleteCustomSource
。使用此示例。您还可以使用TextChanged
事件,并使用params(例如text.StartWith(" textBoxValue"))从Db获取您的集合。
使用AutoCompleteCustomSource,AutoCompleteMode和AutoCompleteSource属性创建一个TextBox,通过将输入的前缀与维护的源中所有字符串的前缀进行比较,自动完成输入字符串。这对于TextBox控件很有用,其中URL,地址,文件名或命令将经常输入。
这里是msdn doc
AutoCompleteStringCollection autoCollection= new AutoCompleteStringCollection();
private void Form1_Load(object sender, EventArgs e)
{
textBox1.AutoCompleteCustomSource = autoCollection;
txtBox1.AutoCompleteMode = AutoCompleteMode.Suggest;
txtBox1.AutoCompleteSource = AutoCompleteSource.CustomSource;
}
private void textBox1_TextChanged(object sender, EventArgs e)
{
if (textBox1.Text.Lenght > 2)
{
autoCollection = yourCollectionFromDB(textBox1.Text)
txtBox1.AutoCompleteCustomSource = autoCollection;
}
}