通过C#中的ComboBox进行Master-Detail?

时间:2010-08-12 10:36:51

标签: c# winforms data-binding master-detail

我有一个表单,显示客户端的详细信息(各种控件)及其订单(在DataGridView中)。

我正在尝试添加一个ComboBox,让用户选择一个客户端的订单,并在单独的DataGridView中显示与之关联的项目。

但是,我无法确定ComboBox或DataGridView项目需要哪些DataSource / DataBindings - 请有人给我一些指示吗?

2 个答案:

答案 0 :(得分:1)

订单将是ComboBox的数据源 - OrderId将是Value字段,而Order Number或Order Date将是文本字段。该订单的项目将是DataGridView项目的数据源。此网格需要绑定在组合框的选择更改事件中(为组合框设置自动回发为true)。希望这可以帮助。 选择更改事件的Psuedo代码将是

protected void Orders_SelectedIndexChanged(object sender, EventArgs e)
{
    var orderId = int.Parse(Orders.SelectedValue);
    // Get items for this order from data store
    var items = ...
    // Bind with items grid
    OrderItems.DataSource = items;
    OrderItems.DataBind();
}

订单是具有订单的组合框的名称,而OrderItems是gridview以显示项目。

答案 1 :(得分:0)

这似乎已经回答了。 例如这里: How to get or set data from ComboBox in DataGridView

甚至更好,只需在StackOverflow中搜索“DataGridView组合框”,您就会发现许多主题涵盖该问题的各个方面。