有人可以告诉我为什么这行代码对我不起作用:
DataTable dt = new DataTable();
dt = (DataTable)this.dataGridView_Clients.DataSource;
我想显式地将DataSource对象强制转换为DataTable,但它给了我这个例外:
Volkswagen App.exe中出现未处理的“System.InvalidCastException”类型异常
其他信息:无法将类型为“System.Windows.Forms.BindingSource”的对象强制转换为“System.Data.DataTable”
答案 0 :(得分:5)
因为DataGridView
DataSource
属于BindingSource
而非DataTable
(在您的情况下)。你可以试试这个:
dt = (DataTable)((BindingSource)this.dataGridView_Clients.DataSource).DataSource;
答案 1 :(得分:0)
这不起作用,因为您的Datasource
不是DataTable
的子类型(也不是DataTable
)。