c# - 为什么这行代码不起作用?

标签 c# .net datatable

谁能告诉我为什么这行代码对我不起作用:

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

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

An unhandled exception of type 'System.InvalidCastException' occurred in Volkswagen App.exe

Additional information: Unable to cast object of type 'System.Windows.Forms.BindingSource' to type 'System.Data.DataTable'

最佳答案

因为 DataGridView DataSource 是类型 BindingSource 而不是 DataTable (在你的例子中)。你可以试试这个:

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

关于c# - 为什么这行代码不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15178885/

相关文章:

c# - Oracle 连接请求超时

c# - 服务器应用程序的多个客户端超过 15 个客户端处理问题

c# - 将 Like 语句与 DataView RowFIlter 一起使用

jQuery Datatable,通过 UI 调整列宽度

javascript - Jquery数据表在搜索时计算页脚中的总和:

c# - WebRequest 获取没有异常的页面?

c# - Asp.net web 表单、Asp Identity - 如何存储来自 Facebook、Twitter 等的声明

c# - 在回发之前运行 Javascript 函数

c# - SqlBulkCopy 计算字段

c# - Plugin.MediaManager.Forms:无法从Xamarin.Forms应用程序数据目录播放视频