Sử dụng DataGridRow không phải là DataRow chúng là một đối tượng khác nhau
foreach (DataGridRow drv in PGIPortfolio.Items)
Tuy nhiên nó không rõ ràng là những gì trong bối cảnh này. Giả sử rằng PGIPortfolio là DataGridView thì vòng lặp của bạn sẽ được viết là
foreach (DataGridRow drv in PGIPortfolio.Rows)
CHỈNH SỬA Tôi giả định rằng bạn đang sử dụng điều khiển DataGridView trong WinForms, không phải WPF DataGrid Trong trường hợp này, cách tiếp cận đúng là sử dụng thuộc tính ItemsSource.
Vui lòng thử mã này ....
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)
{
.....
}
}
}