2011-12-21 172 views
0

我有一個DataGrid.When我選擇了多行並右鍵單擊它,然後我改變了選定的一列的行True爲False 。無法投入'System.Data.DataRowView'類型的對象來鍵入'類對象'

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

請添加更多信息:RiskSettings如何與DataRowView相關?錯誤的線是什麼? RiskSettings代碼在哪裏? – 2011-12-21 09:21:24

回答

0

這隻有在RiskSetting從DataRowView繼承時纔有效。否則,你將不得不使用一個創造者的方法來從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條目,並從中提取所需的數據。

+0

感謝您的寶貴意見。我做了同樣的,你告訴。它的工作 – user768853 2011-12-21 11:42:50

+0

加入後,我得到了另一個problem.In網格我有一個鏈接按鈕。當我點擊linkbutton時,datagrid中的行將顯示在新窗口中。我將RiskSettings rs = grdRiskAlerts.SelectedItem添加爲RiskSettings; if(rs!= null) { UpdateRiskAlerts updateRsk = new UpdateRiskAlerts(); updateRsk.risklogs = rs; updateRsk.Show(); } UpdateRiskAlerts是新的window.risklogs是一個property.I得到了同樣的 – user768853 2011-12-21 12:12:13

+0

我看不到代碼正確。你可以更新問題,或者提出一個新問題? – 2011-12-21 12:51:39

相關問題