无法将类型为“System.Data.DataRow”的对象强制转换为“System.Data.DataRowView”。 [英] Unable to cast object of type 'System.Data.DataRow' to type 'System.Data.DataRowView'.
本文介绍了无法将类型为“System.Data.DataRow”的对象强制转换为“System.Data.DataRowView”。的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我收到错误:无法将'System.Data.DataRow'类型的对象强制转换为''System.Data.DataRowView''。
I received the error:"Unable to cast object of type ''System.Data.DataRow'' to type ''System.Data.DataRowView''. "
private void addToOrder(DataRowView drv)
{
DataRow dr = orderDataTable.NewRow();
dr["ProductID"] = drv["ProductID"];
dr["ProductBarcode"] = drv["ProductBarcode"];
dr["ProductName"] = drv["ProductName"];
dr["SalePrice"] = drv["SalePrice"];
dr["SoldQuantity"] = 1;
dr["NotEditable"] = false;
try
{
orderDataTable.Rows.Add(dr);
}
catch (ConstraintException)
{
DataRow dr1 = orderDataTable.Rows.Find(drv["ProductID"]);
dr1["SoldQuantity"] = Convert.ToInt32(dr1["SoldQuantity"]) + 1;
}
}
private void btnAddToOrder_Click(object sender, RoutedEventArgs e)
{
// add to order
if(txtBarcodeAuto.Text.Length >0)
{
DataTable dscrntProd = prods.SelCrntProd4Sale(crntProdID);//get data from sql server database for product details(productID, ProductName,ProductPrice)
foreach (DataRowView dr in dscrntProd.Rows)
{
addToOrder(dr);
}
}
}
任何最感谢的帮助
谢谢。
Any help Most Appreciated
Thanks.
推荐答案
foreach(dscrntProd.Rows中的DataRowView博士)
你不能将DataRow
投射到DataRowView
。
试试foreach(dscrntProd.Rows中的DataRow dr)
代替。
这篇关于无法将类型为“System.Data.DataRow”的对象强制转换为“System.Data.DataRowView”。的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文