Select DISTINCT From Datatable Using C#

Para un desarrollo tenia un inconveniente con un Datatable, el cual consistía en que los datos que tenia en ese momento se repetían, esto me ocasionaba inconsistencia en la presentación de la información.

Para esto necesitaba realizar un Select Distinct From muy parecido al que se realiza en Sql, pero usando C# o algo que me permitiera eliminar los datos repetidos en el Datatable, como solución realice la siguiente linea:

1. Declaro Datatable:
C#
DataTable dtDistinct = new DataTable();
VB
Dim dtDistinct As DataTable();

2. Realizo Distinct del Datatable dtAll que contiene los registros repetidos, por los campos que considero se repiten:
C#
string[] sColumnas = {"Campo1","Campo2"};
dtDistinct = dtAll.DefaultView.ToTable(true, sColumnas);
VB
String() sColumnas = "Campo1","Campo2"
dtDistinct = dtAll.DefaultView.ToTable(true, sColumnas)

Se obtiene el resultado de los registros sin duplicar, en el Datatable dtDistinct.

Ese fue un claro ejemplo de un Select DISTINCT From Datatable usando C#.
Share:

2 comentarios:

  1. buenas tardes, yo implemente esta solucion y efectivamente valida por los campos indicados los que sean diferentes, el problema es que no me muestra los demas campos del mismo registro, es decir si yo tengo los campos nombre, telefono, direcion y coloco Distinc nombre, el data table resultado es una tabla de un solo campo , como puedo hacer que me muestre todos los campos

    ResponderEliminar
  2. Hola William, te comparto una solución que acabo de publicar: http://devcate.blogspot.com.co/2016/04/c-select-distinct-en-un-datatable-ii.html

    Saludos

    ResponderEliminar