我有一个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是我的班级。怎么做铸造?
答案 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条目,并从中提取所需的数据。