小编Ron*_*bar的帖子

如何在WinForms中绑定多对多关系?

我有以下DataSet:

产品和零件

所述ProductPart表可以使用这些DataGridViews进行编辑:

主要表格

当用户双击"产品"网格中的行时,将打开以下表单:

产品 - 零件协会

左列应该列出与此产品相关的部件.右列应该列出所有其他部分.使用<<和>>按钮,用户应该能够选择属于当前产品的部件.

我做了类似的一对多关系,它完美地工作.代码如下:

public partial class ProductPartsForm : Form
{
    private int _productID;
    private DataSet1 _data;

    public ProductPartsForm(DataSet1 data, DataRowView productRowView)
    {
        var productRow = (DataSet1.ProductRow)productRowView.Row;
        _productID = productRow.ID;
        _data = data;
        InitializeComponent();
        productBindingSource.DataSource = productRowView;
        assignedPartBindingSource.DataSource = productBindingSource;
        assignedPartBindingSource.DataMember = "FK_Product_Part";
        assignedPartsListBox.DisplayMember = "Name";
        unassignedPartBindingSource.DataSource = _data;
        unassignedPartBindingSource.DataMember = "Part";
        unassignedPartsListBox.DisplayMember = "Name";
        unassignedPartBindingSource.Filter = $"isnull(ProductID, 0) = 0";
    } 

    private void assignButton_Click(object sender, EventArgs e)
    {
        var partRowView = (DataRowView)unassignedPartBindingSource.Current;
        var partRow …
Run Code Online (Sandbox Code Playgroud)

c# data-binding ado.net dataset winforms

5
推荐指数
1
解决办法
358
查看次数

标签 统计

ado.net ×1

c# ×1

data-binding ×1

dataset ×1

winforms ×1