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

时间:2011-12-21 06:54:48

标签: c# .net exception-handling casting

我有一个DataGrid。当我选择多行并右键单击它时,我将一列True的选定行改为False。

我把代码编写为:

foreach (RiskSettings row in grdRiskAlerts.SelectedItems)
{
    viewTrue.Update(Query.EQ("-id",ObjectId.Parse(row.ID)), Update.Set("View", "False"));

}

我使用MongoDB作为后端。

当我和上面一样的时候会出现错误

  

无法将“System.Data.DataRowView”类型的对象强制转换为“PravegaVegaFIXConsole.Configuration.RiskSettings”。

RiskSettings是我的班级。怎么做铸造?

1 个答案:

答案 0 :(得分:0)

这仅在RiskSetting继承DataRowView时有效。否则,您必须使用creator方法从DataRowView创建RiskSettings:

foreach (DataRowView drv in grdRiskAlerts.SelectedItems)
    {
        RiskSettings row=new RiskSettings(rdv);
        viewTrue.Update(Query.EQ("-id",ObjectId.Parse(row.ID)), Update.Set("View", "False"));

    }

确保RiskSettings具有一个采用DataRowView参数的构造函数。更好的途径可能是利用DataRowView条目,并从中提取所需的数据。