私の両方のDataGridViewは、親レコードと子レコードを正しく表示します。また、子レコードを正常に追加して、データソース(XMLファイル)に保存することもできます。ただし、新しい親と子を追加しようとすると、詳細DataGridViewに存在していても、追加する子レコードがないという例外がプログラムによってスローされます。
したがって、問題は、子レコードが新しいときにクラスにバインドされていないことです。私は何が欠けていますか?
私のクラスは次のように構成されています。
public class Roads
{
public string RoadName { get; set; }
public List<CrossStreet> CrossStreets { get; set; }
}
public class CrossStreet
{
public string CrossStreetName { get; set;}
}
2つのDataGridViewがあり、次のようにクラスをそれらにバインドしています。
BindingSource roadBindingSource = new BindingSource();
BindingSource crossStreetBindingSource = new BindingSource();
// _roads contains both the road and cross street data.
roadBindingSource.DataSource = _roads;
crossStreetBindingSource.DataSource = roadBindingSource;
crossStreetBindingSource.DataMember = "CrossStreets";
dataGridViewRoads.DataSource = roadsBindingSource;
dataGridViewCrossStreets.DataSource = crossStreetBindingSource;