1

有人可以告诉我为什么这行代码对我不起作用:

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

我想将 DataSource 对象显式转换为 DataTable 但它给了我这个异常:

Volkswagen App.exe 中出现“System.InvalidCastException”类型的未处理异常

附加信息:无法将“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

这不起作用,因为 yourDatasource不是DataTable(也不是 a DataTable)的子类型。

于 2013-03-02T20:10:32.973 回答