Gunakan DataGridRow bukan DataRow mereka adalah objek yang berbeda
foreach (DataGridRow drv in PGIPortfolio.Items)
Namun tidak jelas Item apa yang ada dalam konteks ini. Dengan asumsi bahwa PGIPortfolio adalah DataGridView maka loop Anda harus ditulis sebagai
foreach (DataGridRow drv in PGIPortfolio.Rows)
EDIT Saya berasumsi bahwa Anda menggunakan kontrol DataGridView di WinForms, bukan WPF DataGridDalam hal ini maka pendekatan yang benar adalah dengan menggunakan properti ItemsSource.
Silakan coba kode ini....
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)
{
.....
}
}
}