无法将类型为“System.Data.DataView”的对象强制转换为类型“System.Data.DataTable”

fg82338176 2011-08-25 12:57:06
c# 无法将类型为“System.Data.DataView”的对象强制转换为类型“System.Data.DataTable”
((DataTable)dataGridView1.DataSource).Rows.Add(strArray); 就是这句提示的错误请高手指教
...全文
1572 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
至尊贱客 2011-08-25
  • 打赏
  • 举报
回复 1
教你一个DataGridView转换DataTable的方法

public DataTable GetDgvToTable(DataGridView dgv)
{
DataTable dt = new DataTable();
for (int count = 0; count < dgv.Columns.Count; count++)
{
DataColumn dc = new DataColumn(dgv.Columns[count].Name.ToString());
dt.Columns.Add(dc);
}
for (int count = 0; count < dgv.Rows.Count; count++)
{
DataRow dr = dt.NewRow();
for (int countsub = 0; countsub < dgv.Columns.Count; countsub++)
{
dr[countsub] = Convert.ToString(dgv.Rows[count].Cells[countsub].Value);
}
dt.Rows.Add(dr);
}
return dt;
}


namhyuk 2011-08-25
  • 打赏
  • 举报
回复
可以说控件实际上绑定的是DataView. 也就是说,可以
dataGridView.DataSource = dataTable;
实际上是
dataGridView.DataSource = dataTable.DefaultView;

DataTable包含了实际的数据。DataView是DataTable外面的一个包装盒,主要目的提供数据绑定相关的一些基础设施……
小小农民 2011-08-25
  • 打赏
  • 举报
回复
dataGridView1.Rows.Add(strArray);
不是可以的么,
Icedmilk 2011-08-25
  • 打赏
  • 举报
回复
(((DataView)dataGridView1.DataSource).Table).Rows.Add(strArray);
LMAOhuaNL 2011-08-25
  • 打赏
  • 举报
回复
' 将myTable 的数据内容显示在第一个DataGridView 控件中。
Me.DataGridView1.DataSource = myTable
' 根据myTable 此一DataTable 对象建立一个DataView,并且排序与筛选数据。
Dim myDataView As DataView = myTable.DefaultView
myDataView.Sort = "部门, 姓名"
myDataView.RowFilter = "目前薪资> 40000 AND 地址LIKE '%台北市%'"

' 将myDataView 的数据内容显示在第二个DataGridView 控件中。
Me.DataGridView2.DataSource = myDataView


http://www.cnblogs.com/liminzhang/archive/2006/11/23/569880.html

111,119

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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