Użyj DataGridRow nie DataRow są to różne obiekty
foreach (DataGridRow drv in PGIPortfolio.Items)
Nie jest jednak jasne, czym są w tym kontekście przedmioty. Zakładając, że PGIPortfolio jest DataGridView, pętla powinna być zapisana jako
foreach (DataGridRow drv in PGIPortfolio.Rows)
EDYTUJ Założyłem, że używasz kontrolki DataGridView w WinForms, a nie WPF DataGridW tym przypadku poprawnym podejściem jest użycie właściwości ItemsSource.
Proszę wypróbować ten kod....
var itemsSource = PGIPortfolio.ItemsSource as IEnumerable;
if (itemsSource != null)
{
foreach (var item in itemsSource)
{
var row = PGIPortfolio.ItemContainerGenerator.ContainerFromItem(item) as DataGridRow;
if (row != null)
{
.....
}
}
}