我有一个AvailDataTable类型的数据表AVT.以下代码用于从AVT创建新数据表:
AvailDataTable AVT1 = (AvailDataTable) AVT.DefaultView.Table;
但是,代码:
AvailDataTable AVT1 = (AvailDataTable) AVT.DefaultView.ToTable();
失败并显示消息“无法将类型为’system.data.datatable’的对象强制转换为”availDataTable’.
有人可以解释为什么第一个演员有效,但第二个没有?谢谢!
最佳答案 DataView.Table返回基础源DataTable,在这种情况下,此源表的类型为AvailDataTable.
http://msdn.microsoft.com/en-us/library/system.data.dataview.table.aspx
而DefaultView.ToTable则根据当前视图中的行构造DataTable的新实例.
这里有细微差别,但ToTable会返回一个通用的DataTable对象,而不是您特定的DataTable类型