none
Comparar campo a campo de uma linha em um Datatable. RRS feed

  • Pergunta

  • Como faço pra comparar  os campos de uma linha,tenho um código que pego so o "ID" ,quero pegar também "Nome","Apelido" "Idade".

    1 ,luiz ,Diretor ,26 
    2 ,Filipe ,Jiu-jitsu ,25 
    3 ,leandro ,Chefe ,27 



    1 ,Filipe ,Jiu-jitsu ,27 
    2 ,Filipe ,Jiu-jitsu ,25 
    3 ,Carol ,Diretora ,28 
    4 ,Carlos ,Peixoto ,29 
    5 ,Michael ,Mick ,30 



    1 ,luiz ,Diretor ,26 
    2 ,Filipe ,Jiu-jitsu ,25 
    3 ,leandro ,Chefe ,27 
    1 ,Filipe ,Jiu-jitsu ,27 
    2 ,Filipe ,Jiu-jitsu ,25 
    3 ,Carol ,Diretora ,28 
    4 ,Carlos ,Peixoto ,29 
    5 ,Michael ,Mick ,30 



    1
    2
    3

    var t2IdDups = dt1_Pt.AsEnumerable().GroupBy(r => r.Field<string>("ID")).Where(g => g.Count() > 1);

            foreach (var x in t2IdDups)
            {
                Response.Write(x.Key[0].ToString() + "<br>");
            }
    • Editado wwwfilipe quarta-feira, 27 de fevereiro de 2013 17:37
    quarta-feira, 27 de fevereiro de 2013 17:37

Todas as Respostas

  • Faça outro "foreach" em cima do seu elemento agrupado:

    IEnumerable<IGrouping<string, DataRow>> t2IdDups = dt1_Pt.AsEnumerable().GroupBy(r => r.Field<string>("ID")).Where(g => g.Count() > 1);
    
    foreach (IGrouping<string, DataRow> linhasAgrupada in t2IdDups)
    {
        Response.Write("ID: " + linhasAgrupada.Key.ToString() + "<br>");
    
        foreach (DataRow linha in linhasAgrupada)
        {
            Response.Write("Nome: " + linha.Field<string>("Nome") + "<br>");
            Response.Write("Apelido: " + linha.Field<string>("Apelido") + "<br>");
            Response.Write("Idade: " + linha.Field<int>("Idade") + "<br>");
            Response.Write("<br>");
        }
    
        Response.Write("<br>");
    }




    Vitor Mendes | Seu feedback é muito importante para todos!
    Visite o meu site: http://www.vitormendes.com.br/

    quarta-feira, 27 de fevereiro de 2013 19:02
  • foreach (var x in t2IdDups)
                {
                    Response.Write(string.Concat(x.Key[0].ToString(), ", ",
                        x.Key[1].ToString(),", ", 
                        x.Key[2].ToString(),", ", 
                        x.Key[3].ToString(),"<br>"));
                }
    quarta-feira, 27 de fevereiro de 2013 23:07
  • Muito obrigado pela resposta..Foi de Grande valia.!
    • Editado wwwfilipe quinta-feira, 28 de fevereiro de 2013 19:03
    quinta-feira, 28 de fevereiro de 2013 19:03