【发布时间】:2014-10-16 08:49:12
【问题描述】:
确定DataGridView DataSource是DataTable还是DataView的正确方法是为了这个代码-p。
//data bind
myDataTable = getDataTableFromDataBase()
datagridview1.DataSource = myDataTable;
然后我尝试从 DataGridView 上面获取 DataTable 我这样做了。
DataTable temp = (DataTable)(this.datagridview1.DataSource);
然后它给了我这样的错误,无法将“System.Data.DataView”类型的对象转换为“System.Data.DataTable”
当我想从 DataGridView 获取数据源时,我会做这件讨厌的事情。 这是工作,但最好的方法是什么?
DataTable dt_update = new DataTable();
try
{
DataView dv = (DataView)(this.datagridview1.DataSource);
tempTable = (DataTable)dv.Table;
}
catch (InvalidCastException ex)
{
try
{
tempTable = (DataTable)datagridview1.DataSource;
}
catch { }
}
【问题讨论】:
-
也许这个:stackoverflow.com/questions/7382932/… 可以帮助你澄清
-
顺便说一句,为什么你有三个表
dt_update、dtbl和tempTable?至少有一个似乎是多余的。你想用这张桌子做什么?
标签: c# datagridview