1

このコード行が機能しない理由を教えてください。

DataTable dt = new DataTable();
dt = (DataTable)this.dataGridView_Clients.DataSource;

DataSource オブジェクトを DataTable に明示的にキャストしたいのですが、この例外が発生しています:

タイプ 'System.InvalidCastException' の未処理の例外が Volkswagen App.exe で発生しました

追加情報: タイプ 'System.Windows.Forms.BindingSource' のオブジェクトをタイプ 'System.Data.DataTable' にキャストできません

4

2 に答える 2

5

なぜなら、DataGridView DataSourceはタイプBindingSourceであり、そうではないからですDataTable(あなたの場合)。あなたはこれを試すことができます:

dt = (DataTable)((BindingSource)this.dataGridView_Clients.DataSource).DataSource;
于 2013-03-02T20:10:22.860 に答える
0

あなたは(または)Datasourceのサブタイプではないため、これは機能しません。DataTableDataTable

于 2013-03-02T20:10:32.973 に答える