Vendor テーブルのデータグリッドビューがあり、すべてのフィールドのテキストボックスもあります。すべてのテキストボックスをデータグリッドの値に設定する setVendor メソッドがあり、テキストボックスをクリックされた適切なベンダーに設定する currentcellchanged イベントがあります。これが私のコードです:
private void dataGridVendors_CurrentCellChanged_1(object sender, EventArgs e)
{
setVendorInfo((Vendor)allTheVendors[this.dataGridVendors.CurrentRow.Index]);
}
//method to set the textboxes with the vendor information
private void setVendorInfo(Vendor aVendor)
{
//set all the textboxes
this.txtVendorId.Text = aVendor.VendorId;
this.txtName.Text = aVendor.Name;
this.txtAddressNo.Text = aVendor.AddressNo;
this.txtStreet.Text = aVendor.Address;
this.txtCity.Text = aVendor.City;
this.comboBoxState.Text = aVendor.State;
this.txtZipcode.Text = aVendor.Zipcode;
this.txtPhoneNumber.Text = aVendor.PhoneNumber;
}
レコードを削除するとエラーが発生し、dataGridVendors_CurrentCellChanged イベントで発生します。選択されたレコードが削除されると、選択されたレコードがないため、エラーがスローされるために発生すると想定していますが、修正方法がわかりません。
dataGrid を使用するとすべて正常に動作することに気付きましたが、dataGridView に切り替えるとこのエラーが発生します。ただし、少し見栄えが良く、列の自動サイズ調整機能が好きなので、dataGridViewを使用したいと思います。