最初にEFコードを使用しており、データソースにバインドされたbindingNavigatorを備えたWindowsフォームがあります。データ入力テキストボックスもデータソースにバインドされています
データソースにレコードがない場合にユーザーがフォームを開いたときに、ユーザーが追加ボタンをクリックしたかのようにフォームが動作するように機能させたいと思います。
私が試してみました
private void PersonForm_Load(object sender, EventArgs e)
{
if (bindingSource1.Count == 0)
{
bindingNavigator1.BindingSource.AddNew();
}
}
private void bindingSource1_AddingNew(object sender, System.ComponentModel.AddingNewEventArgs e)
{
e.NewObject = CreatePerson();
}
private Person CreatePerson()
{
var obj = new Person();
obj.RowId = Guid.NewGuid();
return obj;
}
ただし、レコードセレクターは無効のままであり、ナビゲーターバーで[保存]をクリックすると、新しいレコードは保存されません。