无法将类型为“System.Data.DataRow”的对象强制转换为“System.Data.DataRowView”。 [英] Unable to cast object of type 'System.Data.DataRow' to type 'System.Data.DataRowView'.

查看:607
本文介绍了无法将类型为“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屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆