プロジェクト (親) とロール割り当て (子) の親子セットアップがあります。関連するテーブルとリレーションが に設定されており、( wpfの a に最も近いと思われる) をdataset
使用してコンテンツを読み込んで変更しています。BindingListCollection
BindingSource
ただし、問題は、親行と子行を同時に追加できないことです。親行を作成してデータベースにコミットしてから、子行を追加すると機能します。親行と子行を同時に追加する方法はありますか。
子行を追加するコード:
if (projectRoleAllocationView.CanAddNew)
{
System.Data.DataRowView roleItem = (System.Data.DataRowView)availableRoleViewSource.View.CurrentItem;
System.Data.DataRowView roleAllocationItem = (System.Data.DataRowView)roleAllocationViewSource.View.CurrentItem;
System.Data.DataRowView projectItem = (System.Data.DataRowView)projectView.CurrentItem;
System.Data.DataRowView projectRoleAllocationItem = (System.Data.DataRowView)projectRoleAllocationView.AddNew();
projectRoleAllocationItem.Row["ID"] = Guid.NewGuid();
projectRoleAllocationItem.Row["ProjectID"] = projectItem.Row["ID"];
projectRoleAllocationItem.Row["RoleAllocationID"] = roleAllocationItem.Row["ID"];
projectRoleAllocationItem.Row["RoleName"] = roleItem.Row["Name"];
projectRoleAllocationItem.Row["ResourceName"] = roleAllocationItem.Row["Name"];
projectRoleAllocationView.CommitNew();
projectRoleAllocationView.Refresh();
}