在 C# 中显示来自数据库的列表框中的项目
Show items in listbox from database in C#
我有一个包含两个 table 的数据库 Countries
和 Websites
。我使用以下语句在 listbox1 中显示所有国家/地区名称:
try
{
connection.Open();
using (OleDbCommand command = new OleDbCommand())
{
command.Connection = connection;
command.CommandText = "SELECT CountryName FROM Countries ";
//whenever you want to get some data from the database
using (OleDbDataReader reader = command.ExecuteReader())
{
while (reader.Read())
{
listBox1.Items.Add(reader["CountryName"].ToString());
}
}
}
}
catch (Exception l)
{
MessageBox.Show("Error:" + l);
}
finally
{
connection.Close();
}
但是根据用户在列表框 1 中选择的项目知道,我希望列表框 2 显示链接到数据库中国家/地区的相关网站。网站table中的外键是CountryIDFK
,我想显示第二个table的字段WebsiteName
。
不知怎么的,我不知道如何显示 listbox2 中的项目。我不想将它们添加到第二个列表框中,而只是根据用户选择的国家/地区显示。有人可以帮忙吗?
首先,您可以绑定数据源。这意味着您可以将 DataTable 或对象列表绑定到您的列表框。此处提供示例:https://msdn.microsoft.com/en-us/library/system.windows.forms.listcontrol.datasource%28v=vs.110%29.aspx
这样您就可以将您的 ID 和国家名称存储在列表框项目列表中。
之后您可以使用 SelectedValueChanged 事件处理程序,这也在上面的示例中进行了演示。在处理程序方法中,您只需填充第二个列表框。
考试:
tbl_tableFilds: ID,Title
在 EF 中:
var Result=tbl_Table.where().tolist();
ListBox1.Datasource=Result;
ListBox1.DisplyMemmber="Title";
ListBox1.ValueMember="ID";
另一种方式是:
在 EF 中:
var Result=tbl_Table.where().tolist();
foreach(var item in Result) {
ListBox1.items.Add(item.Title);
}
我有一个包含两个 table 的数据库 Countries
和 Websites
。我使用以下语句在 listbox1 中显示所有国家/地区名称:
try
{
connection.Open();
using (OleDbCommand command = new OleDbCommand())
{
command.Connection = connection;
command.CommandText = "SELECT CountryName FROM Countries ";
//whenever you want to get some data from the database
using (OleDbDataReader reader = command.ExecuteReader())
{
while (reader.Read())
{
listBox1.Items.Add(reader["CountryName"].ToString());
}
}
}
}
catch (Exception l)
{
MessageBox.Show("Error:" + l);
}
finally
{
connection.Close();
}
但是根据用户在列表框 1 中选择的项目知道,我希望列表框 2 显示链接到数据库中国家/地区的相关网站。网站table中的外键是CountryIDFK
,我想显示第二个table的字段WebsiteName
。
不知怎么的,我不知道如何显示 listbox2 中的项目。我不想将它们添加到第二个列表框中,而只是根据用户选择的国家/地区显示。有人可以帮忙吗?
首先,您可以绑定数据源。这意味着您可以将 DataTable 或对象列表绑定到您的列表框。此处提供示例:https://msdn.microsoft.com/en-us/library/system.windows.forms.listcontrol.datasource%28v=vs.110%29.aspx 这样您就可以将您的 ID 和国家名称存储在列表框项目列表中。
之后您可以使用 SelectedValueChanged 事件处理程序,这也在上面的示例中进行了演示。在处理程序方法中,您只需填充第二个列表框。
考试:
tbl_tableFilds: ID,Title
在 EF 中:
var Result=tbl_Table.where().tolist();
ListBox1.Datasource=Result;
ListBox1.DisplyMemmber="Title";
ListBox1.ValueMember="ID";
另一种方式是:
在 EF 中:
var Result=tbl_Table.where().tolist();
foreach(var item in Result) {
ListBox1.items.Add(item.Title);
}