为什么这行代码不能工作

本文关键字:不能 工作 代码 为什么 | 更新日期: 2023-09-27 18:01:48

谁能告诉我为什么这行代码不适合我:

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

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

类型为"System"的未处理异常。InvalidCastException'发生在Volkswagen App.exe

附加信息:无法强制转换类型为"System.Windows.Forms"的对象。BindingSource' to type 'System.Data.DataTable'

为什么这行代码不能工作

因为DataGridView DataSource的类型是BindingSource而不是DataTable(在您的情况下)。你可以试试这个:

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

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