【发布时间】:2014-12-26 22:44:46
【问题描述】:
在我的应用程序中,我想将两个文本框自动完成方法与 mysql 数据库列链接起来。第一列有 3 个值,第二列有 7 个值。
喜欢这个
+---------+---------------+--------------+
+appsetid + category + subcategory +
+---------+---------------+--------------+
+ 1 + property pres + Bankruptcy +
+ 2 + attorney + app +
+ 3 + valuation + unknown +
+ 4 + -null- + mitigate +
+ 5 + -null- + property re +
+ 6 + -null- + close +
+ 7 + -null- + unk12 +
+---------+---------------+--------------+
我希望将此列值作为我的文本框自动完成值。但在我调用下面的方法后,第一个文本框自动完成获取 3 个值,但第二个文本框自动完成仅完成第一个 3 个值。我尝试使用 isnullorempty 填充文本框,但它不起作用
这是我用来填充文本框自动完成的代码。
两个文本框 Autocompletemode 设置为Suggestappend 和autocompleet source 设置为customsource
private void maintxtautocomplete()
{
AutoCompleteStringCollection call = new AutoCompleteStringCollection();
AutoCompleteStringCollection call2 = new AutoCompleteStringCollection();
string constring = string.Format("Server=127.0.0.1;Database=claimspro;Uid=root;Pwd=***************;");
string Query1 = "select * from appsettings ;";
MySqlConnection conwaqDatabase2 = new MySqlConnection(constring);
MySqlCommand cmdwaqDatabase2 = new MySqlCommand(Query1, conwaqDatabase2);
MySqlDataReader myreader;
try
{
conwaqDatabase2.Open();
myreader = cmdwaqDatabase2.ExecuteReader();
while (myreader.Read())
{
string sName2 = myreader.GetString("subcategory");
if (!string.IsNullOrEmpty(sName2))
{
call.Add(sName2);
};
string sName1 = myreader.GetString("category");
if (!string.IsNullOrEmpty(sName1))
{
call2.Add(sName1);
};
}
}
catch
{
}
categorytxtbox.AutoCompleteCustomSource = call2;
subcategorytxtbox.AutoCompleteCustomSource = call;
conwaqDatabase2.Close();
}
【问题讨论】:
-
有人知道如何解决这个问题吗? :(
标签: c# mysql autocomplete textbox