我有以下DataSet:
所述Product和Part表可以使用这些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)