我有同样的情况。我为两个表创建了两个 DTO 类并分配了它们。创建两个类
public class Table1
{
public int Id { get; set; }
public int Table2Id { get; set; }
public string Name { get; set; }
}
public class Table2
{
public int Table2Id { get; set; }
public string Table2Name { get; set; }
}
然后在您中创建一个具有四列的数据网格视图。
Column1=> Name:idDropDown Default Text Style:DataGridViewCellStyle { }
Column 2=> Name:Table1Id DataPropertyName:Table1Id
Column 3=> Name:Table2Id DataPropertyName:Table2Id
Column 4=> Name:Tbale1Name DataPropertyName:Tbale1Name
然后生成两个列表,其中包含您需要的数据。
List<Table1> dropDownList;
List<Table2> gridData;
在您的代码中使用如下
idDropDown.DisplayMember="Table2Name";
idDropDown.ValueMember="Table2Id";
idDropDown.DataSource=dropDownList;
gridview1.AutoGenerateColumns = false;
gridview1.DataSource=gridData;
主要的是我们必须在这段代码中将 AutoGenerateColumns 设置为 False