簡體   English   中英

在 C# 中的數據庫中顯示列表框中的項目

[英]Show items in listbox from database in C#

我有一個包含兩個表CountriesWebsites的數據庫。 我使用以下語句在 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();
}

但是知道基於用戶在 listbox1 中選擇的項目,我希望列表框 2 顯示鏈接到數據庫中國家/地區的相關網站。 在網站上表的外鍵是CountryIDFK ,我想顯示的字段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

在英孚:

var Result=tbl_Table.where().tolist();
ListBox1.Datasource=Result;
ListBox1.DisplyMemmber="Title";
ListBox1.ValueMember="ID";

另一種方法是:

在英孚:

var Result=tbl_Table.where().tolist();
foreach(var item in Result) {
  ListBox1.items.Add(item.Title);
  }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM