none
Percorrer datatable sem pegar os itens duplicados, Como? RRS feed

  • Pergunta

  • Boa noite,
    Galera é o seguinte, preciso percorrer uma datatable que esta em session para gravar os dados dela no banco de dados.
    O meu problema é justamente nessa hora, percorrendo a mesma os dados estão vindo duplicados. Como eu resolvo isso?
    Trecho do código:

    For i = 0 To oBasket.Tables("Produtos").Rows.Count - 1
     Response.Write(oBasket.Tables("Produtos").Rows(i).Item(1) & "<br/>")
    Next
    
    

    Esse código sendo executado esta trazendo os dados duplicados ex.:

    car 1

    car 1

    ball 1

    ball 1

     

    Atenciosamente,

    Flavio

    sábado, 18 de setembro de 2010 01:54

Respostas

  • Esta dica é bacana está em C#

     

    DataView dv = new DataView(oBasket.Tables["Produtos"]);

    dv.ToTable(true, "Campo1", "campo2");


    É o seguinte o objeto DataView consegue retornar o distinct de um dataTable, aí fica fácil.

    Você coloca quais campos quer que ele retorne que ele irá fazer um distinct no seu dataTable.

    até mais...


    Luciano Almeida MCAD / MCSD .NET
    • Sugerido como Resposta Luciano Almeida sábado, 18 de setembro de 2010 02:31
    • Marcado como Resposta Harley Araujo terça-feira, 21 de setembro de 2010 14:49
    sábado, 18 de setembro de 2010 02:31
  • Flávio, tente o código abaixo:

     

            Dim _cdProduto As String = String.Empty

            For i = 0 To oBasket.Tables("Produtos").Rows.Count - 1

                If oBasket.Tables("Produtos").Rows(i).Item(1).ToString() <> _cdProduto Then

                    Response.Write(oBasket.Tables("Produtos").Rows(i).Item(1) & "<br/>")

                End If

                _cdProduto = oBasket.Tables("Produtos").Rows(i).Item(1).ToString()

            Next

     

    Atenciosamente,

     

    Vinícius Melo Juraszek

     

    Por favor, se for útil marque como resposta.

    • Marcado como Resposta Harley Araujo terça-feira, 21 de setembro de 2010 14:49
    sábado, 18 de setembro de 2010 14:08

Todas as Respostas

  • Esta dica é bacana está em C#

     

    DataView dv = new DataView(oBasket.Tables["Produtos"]);

    dv.ToTable(true, "Campo1", "campo2");


    É o seguinte o objeto DataView consegue retornar o distinct de um dataTable, aí fica fácil.

    Você coloca quais campos quer que ele retorne que ele irá fazer um distinct no seu dataTable.

    até mais...


    Luciano Almeida MCAD / MCSD .NET
    • Sugerido como Resposta Luciano Almeida sábado, 18 de setembro de 2010 02:31
    • Marcado como Resposta Harley Araujo terça-feira, 21 de setembro de 2010 14:49
    sábado, 18 de setembro de 2010 02:31
  • Flávio, tente o código abaixo:

     

            Dim _cdProduto As String = String.Empty

            For i = 0 To oBasket.Tables("Produtos").Rows.Count - 1

                If oBasket.Tables("Produtos").Rows(i).Item(1).ToString() <> _cdProduto Then

                    Response.Write(oBasket.Tables("Produtos").Rows(i).Item(1) & "<br/>")

                End If

                _cdProduto = oBasket.Tables("Produtos").Rows(i).Item(1).ToString()

            Next

     

    Atenciosamente,

     

    Vinícius Melo Juraszek

     

    Por favor, se for útil marque como resposta.

    • Marcado como Resposta Harley Araujo terça-feira, 21 de setembro de 2010 14:49
    sábado, 18 de setembro de 2010 14:08