如何把DataGridView1中筛选出来的数据转换为一个DataTable?

qq_35953917 2016-11-04 03:56:38
我的数据库表通过以下语句,筛选记录后显示在DataGridView1上
DataAdapter1.Fill(DataTable1)
BindingSource1.DataSource = DataTable1
DataGridView1.DataSource = BindingSource1

BindingSource1.Filter = StrWhere
这样我的DataGridView1就显示了指定表的筛选记录

现在我想把表格中筛选出来的记录以一个DataTable的形式整体导出到EXCEL。
请问如何把DataGridView1中筛选出来的数据转换为一个DataTable?
------------------------------------------------------------------
我试图通过:DataTable0 = DataGridView2.DataSource 来达成目的,但提示无法转换。
...全文
388 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_35953917 2016-11-08
  • 打赏
  • 举报
回复
BindingSource1.Filter = StrWhere 的查找方式没改,也没转换,直接把导出EXCEL那段过程修改了一下,把那里面的DataTable替换成了DataGridView。谢谢各位的建议!
楚狂歌 2016-11-04
  • 打赏
  • 举报
回复
先把转换,再筛选

        Dim dg As New DataGridView
        Dim dt As New DataTable
        Dim drs() As DataRow = New DataRow() {}
        dt = CType(dg.DataSource, DataTable)
        drs = dt.Select("筛选条件")
stherix 2016-11-04
  • 打赏
  • 举报
回复
DataGridView.DataSource是一个object,肯定不能直接赋值的 而且你使用的 BindingSource作为数据源,应该是不能直接类型转换到DataTable 估计得自己建立一个新的DataTable,然后把Columns定义和数据循环拷过去
EnForGrass 2016-11-04
  • 打赏
  • 举报
回复
DataTable DataTable0 = (DataGridView2.DataSource as DataTable)

16,721

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧