簡體   English   中英

C# 如何將列表中的一個值返回到 ComBox 中? 而不是所有

[英]C# how to return only one value from the list into a ComBox? Instead of all

我的目標是將CustomerName的單個值返回到 ComboBox。

這就是我從數據庫中獲取數據的方式:

public class DataAccess
{
    public List<ComplaintModel> FindOrderNumber(string orderNumber)
    {
        using(SqlConnection conn = new SqlConnection(ConnectionString.MJMconnString))
        {
            var output = conn.Query<ComplaintModel>($@"
                    SELECT 
                    TRIM(p.description) as Product,
                    c.name AS CustomerName,
                    FROM SalesOrder so JOIN SalesOrderLine sol ON
                    so.id = sol.salesOrderID JOIN Customer c ON
                    so.customerID = c.id JOIN Product p ON
                    sol.productID = p.id WHERE so.number = '{orderNumber}'").ToList();
            return output;
        }
    }
}

這將是 output(使用 Excel 向您展示一個粗略的想法):

在此處輸入圖像描述

所以組合框看起來像這樣:

在此處輸入圖像描述

在此處輸入圖像描述

快速結論

特定OrderNumber的客戶名稱將始終相同,但產品會有所不同。

形式

在我的表單中,我加載了ProductCustomer組合框。 注意:我知道您可能正在考慮為Customer使用 TextBox 而不是 ComboBox ,它只是需要)。

List<ComplaintModel> OrderNumber = new List<ComplaintModel>();

public void searchButton_Click(object sender, EventArgs e)
{
    clearBindings();

    DataAccess db = new DataAccess();
     
    // Search Order Number that is specified in a text box
    OrderNumber = db.FindOrderNumber(orderNumber.Text);
  
    // List all products
    product.DataSource = OrderNumber;
    product.DisplayMember = "Product";

    // Show customer name - but as [0] instead of all.
    customer_name.DataSource = OrderNumber;
    customer_name.DisplayMember = "CustomerName";
    

}

所需 output 的 combobox

在此處輸入圖像描述

這是我的 model

public class ComplaintModel
{
    public string CustomerName { get; set; }
    public string Product { get; set; }
}

如何將CustomerName的單個值檢索到 ComboBox 中?

您需要創建:客戶 class,訂單 class。

然后您需要為兩個組合框創建兩個列表: List<Customer> customers for customer combobox List<Order> orders for orders combobox 以顯示所選客戶的訂單(在 combobox 更改事件上)。

public class Customer
{
public string Id {get;set;}
public string Name {get;set;}
public List<Order> Orders {get;set;}
}

public class Order
{
public string Id {get;set;}
public string Name {get;set;}
public int CustomerId {get;set;}
}

暫無
暫無

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

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