【发布时间】:2014-07-28 08:41:53
【问题描述】:
我正在我的 Windows 窗体应用程序中实现一个与 Google 一样工作的搜索功能。 我已经按如下方式实现了自动完成:
private void MemberSearch()
{
// Name Search
ConnectionClass.GetInstance().connection_string = Properties.Settings.Default.MindMuscleConnectionString;
ConnectionClass.GetInstance().Sql = "select MemberInfo.memberName from MemberInfo";
DataSet ds = ConnectionClass.GetInstance().GetConnection;
AutoCompleteStringCollection name = new AutoCompleteStringCollection();
for (int x = 0; x < ds.Tables[0].Rows.Count; x++)
{
name.Add(ds.Tables[0].Rows[x].ItemArray.GetValue(0).ToString());
}
memberNameSearchTxtBox.AutoCompleteMode = AutoCompleteMode.SuggestAppend;
memberNameSearchTxtBox.AutoCompleteSource = AutoCompleteSource.CustomSource;
memberNameSearchTxtBox.AutoCompleteCustomSource = name;
// ID Search
ConnectionClass.GetInstance().Sql = "select MemberInfo.memberID from MemberInfo";
ds = ConnectionClass.GetInstance().GetConnection;
AutoCompleteStringCollection id = new AutoCompleteStringCollection();
for (int x = 0; x < ds.Tables[0].Rows.Count; x++)
{
id.Add(ds.Tables[0].Rows[x].ItemArray.GetValue(0).ToString());
}
memberIdSearchTxtBox.AutoCompleteMode = AutoCompleteMode.SuggestAppend;
memberIdSearchTxtBox.AutoCompleteSource = AutoCompleteSource.CustomSource;
memberIdSearchTxtBox.AutoCompleteCustomSource = id;
}
问题:
虽然这种自动完成功能很好,但我在想如果记录数达到数百万或更多,这种方法可以正常工作吗?我在表单Load 事件上调用此方法。有没有更有效的方法来做到这一点?
【问题讨论】:
-
在印度英语中使用术语 lakh (100,000) 和 crore (10,000,000) 来表示大量数字wikipadia
标签: c# winforms autocomplete visual-studio-2013 radtextbox