Tengo un datatable con algunos datos en ella…
Los datos se muestran a continuación.

____________________________________________________
|    |                    |            |           |
|mid |    usrnme          |   pname    |   prate   |
|---------------------------------------------------
|11  | [email protected].com    |   sample1  |    2000   |
|14  | [email protected].com     |   sample2  |    5000   |
|15  | [email protected].com    |   sample3  |    8000   |
|11  | [email protected].com    |   sample1  |    2000   |
|18  | [email protected].com    |   sample4  |    3000   |
====================================================

Como se puede ver hay dos filas con los mismos valores en la tabla de datos. Así que En mi código, necesito comprobar si hay alguna filas duplicadas en mi datatable. Si hay cualquier filas duplicadas, eliminar esa fila determinada, y, a continuación, mover la fila siguiente a la eliminada de la fila. En este caso, la fila 1 y la fila 4 son los mismos, por lo que tiene que ser corregido. Así que la fila 4 tiene que ser eliminado y la fila 5, se inserta en la 4ª posición de fila. De esta manera, si hay n filas, las n filas tiene que ser revisadas y corregidas de esta manera. Cómo se puede lograr en c#.net. Soy nuevo en el mundo de c#. Cualquier ayuda de nadie, será una gran ayuda para mi.. Gracias de antemano.

InformationsquelleAutor njnjnj | 2014-03-29

4 Comentarios

  1. 1

    Uso <Datatable>.DefaultView.ToTable(true)

    Ex.: dt.DefaultView.ToTable(true);

    Si tenemos una columna específica de filas distintas,el uso de

    <Datatable>.DefaultView.ToTable(true,<Columns>)

    Ex.: dt.DefaultView.ToTable(true, "EmpId", "Name");

  2. 0

    Esta es la forma más sencilla para no tener valor duplicado en su dataTabale.
    Linq es la mejor manera de lograr esto.
    Por favor, cambiar el dataTable nombre y tipo de dato de la columna como su necesidad. y que debería coincidir con la tabla de datos tipo de datos.

      var avoidDuplicates= from row in ds.Tables["DataTableName"].AsEnumerable()
                   group row by row.Field<string>("m_id") into rowGroup
                   select new
    
                   {  
                       m_id = rowGroup.Key,
    
         user_name = string.Join(" ", rowGroup.Select(row => row.Field<string>("usrnme")).Distinct().ToArray()),
    
         p_name = string.Join(" ", rowGroup.Select(row => row.Field<string>("pname")).Distinct().ToArray()),
    
                                            prate = string.Join(" ", rowGroup.Select(row => row.Field<decimal>("prate")).Distinct().ToArray()),
        }

    Espero que esto va a Resolver su problema

Dejar respuesta

Please enter your comment!
Please enter your name here