私は同じシナリオを持っていました。2 つのテーブルに対して 2 つの DTO クラスを作成し、それらを割り当てます。2 つのクラスを作成する
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; }
}
次に、4 つの列を持つ datagridview を作成します。
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
次に、必要なデータを含む 2 つのリストを生成します。
List<Table1> dropDownList;
List<Table2> gridData;
コードでは次のように使用します
idDropDown.DisplayMember="Table2Name";
idDropDown.ValueMember="Table2Id";
idDropDown.DataSource=dropDownList;
gridview1.AutoGenerateColumns = false;
gridview1.DataSource=gridData;
主なことは、このコードで AutoGenerateColumns を False に設定する必要があることです