DataGridViewComboBoxColumn
クラス オブジェクトのリスト ( With ToString
overloaded )を入力しようとしています。この方法は、通常のコンボ ボックスでは完璧に機能しました。ただし、をロードすると、データグリッドからクリックするたびにエラーがスローDataGridViewComboBoxColumn
されます。dataGridView
これがエラーです。
The Following Exception Occurred in the DataGridView:
System.ArgumentException: DataGridViewComboBoxCell value is not valid.
To replace this default dialog please handle the DataError event.
そして、これはエラー ダイアログの前に実行されるコードです。
DataTable dt = new DataTable();
List<mclass> MObjects = new List<mclass>();
DataGridViewComboBoxColumn objcolumn = new DataGridViewComboBoxColumn();
objcolumn.DataSource = MObjects;
objcolumn.ValueType = typeof(mclass);
dataGridView1.DataSource = dt;
dataGridView1.Columns.Add(objcolumn);
エラーメッセージの間で、列は正常に機能します。リストからオブジェクトを完全に選択できます。このエラーを解消して、作業中のコンボ列を安全に残すにはどうすればよいですか? 私は何かを逃したことがありますか?または、そのエラー メッセージを削除する方法を見つける必要がありますか?
いくつかの調査の後、この行に追加しようとしました:
dt.Columns.Add("OBJList", typeof(mclass));
ただし、これは同じ例外をはるかに長くします (要求に応じて利用できるように、ほとんどを省略しました)。
The following exception occurred in the DataGridView:
System.FormatException: Invalid cast from 'System.String' to 'Namespace.mobject'. --->
System.InvalidCastException: Invalid cast from 'System.String' to 'Namespace.mobject'.