Невозможно привести объект типа «System.Data.DataRowView» к типу «Объект класса». - PullRequest
0 голосов
/ 21 декабря 2011

У меня есть 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 голосов
/ 21 декабря 2011

Это будет работать, только если RiskSetting наследует от DataRowView.В противном случае вам придется использовать метод создателя для создания RiskSettings из DataRowView:

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 и извлечение из нее необходимых данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...