c# - C#如何只将列表中的一个值返回到ComBox?而不是所有
问题描述
我的目标是将单个值返回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;
}
}
}
这将是输出(使用 Excel 向您展示一个粗略的想法):
所以 ComboBoxes 看起来像这样:
快速总结
对于特定的客户名称将始终相同,OrderNumber
但产品会有所不同。
形式
在我的表单中,我加载了Product
andCustomer
组合框。(注意:我知道您可能正在考虑使用 TextBox 而不是 ComboBox Customer
,它只是需要)。
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";
}
组合框的期望输出
这是我的模型
public class ComplaintModel
{
public string CustomerName { get; set; }
public string Product { get; set; }
}
问题
如何仅将单个值检索CustomerName
到 ComboBox 中?
解决方案
您需要创建:Customer 类、Order 类。
然后您需要为两个组合框创建两个列表:
List<Customer> customers
对于客户组合框
List<Order> orders
,用于订单组合框以显示所选客户的订单(在组合框更改事件上)。
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;}
}
推荐阅读
- transactions - corvus 支付交易状态中的“缺少哈希字段”
- python - 在 while 循环中使用 timer(),由 Python 中的 if 语句引起的重置
- html - 如何设置ng-selected true?
- mysql - MySQL Subquery Count Different from Query Count
- swift - UserDefault 不保存值
- sql - Query to Find "Remaining Bill Amount" in SQL Server
- function - 包装在类中的扩展函数
- sql - 使用 Order By 计算分区中的行数
- celery - 监控 SQS+Celery
- node.js - Express JS Validator 函数错误器