Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

iterando pelas linhas de um datagrid


Use um DataGridRow não é um DataRow são objetos diferentes
foreach (DataGridRow drv in PGIPortfolio.Items)

No entanto, não está claro o que itens são neste contexto. Assumindo que PGIPortfolio é o DataGridView, seu loop deve ser escrito como
foreach (DataGridRow drv in PGIPortfolio.Rows)

EDITAR Eu assumi que você estava usando o controle DataGridView no WinForms, não o WPF DataGrid Neste caso, a abordagem correta é usar a propriedade ItemsSource.
Por favor, tente este código....
    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) 
            {
               .....
            }

        }
    }