![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
|||
|
|||
|
Registros distintos en DataTable
Buenas en esta oportunidad me toco desarrollar algo en C# y tengo una cuestión que no puedo resolver.
Digamos que tengo un DataTable con algunos registros y las siguientes columnas Ramo | Producto | Poliza | Descripcion | ...... 1730 1 200 Pruebas 2 1730 1 200 Pruebas 1730 1 200 Pruebas 2 1730 1 120 Pruebas Digamos que mas o menos esos son los datos que puede tener el DataTable. Ahora bien, como se puede hacer con LINQ o Lambda para que yo pueda saber si los registros agrupados por Ramo/Producto/Poliza tienen alguno con la descripción distinta. Para el ejemplo que puse me debería devolver que existen registros con distinta descripción (1730/1/200). No me importa saber en que grupo de registros es el problema en este caso, solo saber que no cumplen con la condición esperada. Esto que planteo es porque levanto un Excel que paso a un DataTable y los registros con la misma agrupación (Ramo/Producto/Poliza) tienen que tener algunos de sus campos iguales para que se pueda importar luego a la base de datos (ejemplo: la descripción). ¿De no ser tan fácil de resolver con lo que pido, que otra forma de hacerlo se les ocurre?. Espero haberme hecho entender. Cualquier cosa me dicen. Saludos, El Rayo
__________________
Si tienes una función o procedimiento con diez parámetros, probablemente hayas olvidado uno |
|
#2
|
||||
|
||||
|
No he entendido el problema ni lo que quieres conseguir.
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
|
#3
|
|||
|
|||
|
Bien, veamos ahora.
El problema si te fijas es el ejemplo que puse es que existen registros con mismo Ramo/Producto/Poliza que tienen diferente descripción. Además existen diferentes números de Polizas como se puede ver. Dentro de cada uno de esos números de pólizas la descripción debe ser única (esto en el ejemplo, en mi caso es otro dato). Como puedo hacer para detectar cuando dentro de una misma póliza existen diferentes descripciones y así informar al usuario. Yo pensaba hacerlo en el DataTable con LINQ, pero no se si es tan fácil. Espero haberme hecho entender. Saludos, El Rayo
__________________
Si tienes una función o procedimiento con diez parámetros, probablemente hayas olvidado uno |
|
#4
|
||||
|
||||
|
O sea, con este ejemplo:
Código:
1730 1 200 Pruebas 2 1730 1 200 Pruebas 1730 1 200 Pruebas 2 1730 1 120 Pruebas Código:
1730 1 200 Pruebas 2 1730 1 200 Pruebas
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
|
#5
|
|||
|
|||
|
Digamos que si, porque si todos los registros del 200 tuvieran las misma descripción no debería mostrarlos. Como lo dices parece fácil pero el tema es que no se tiene datos como para poder filtrar (por la Poliza agrupada) el DataTable mas que con lo que tiene si mismo.
Si por ejemplo poliza 120 tuviera mas de 1 registro con la misma descripción tampoco debería mostrarlo, solo saldría si descripción fuera distinta. Pido disculpas si no me supe explicar bien. Hay veces que uno tiene las cosas en la cabeza y bajarlas para explicarlas no es tan simple. Saludos
__________________
Si tienes una función o procedimiento con diez parámetros, probablemente hayas olvidado uno |
|
#6
|
|||
|
|||
|
Lo que he podido realizar hasta ahora es lo siguiente
Código:
var Records = ExcelTable.AsEnumerable()
.GroupBy(g => new
{
Branch = g["Ramo"],
Product = g["Producto"],
Policy = g["Poliza"],
Descrip = g["Descripcion"],
})
.Select(r =>
{
var row = ExcelTable.NewRow();
row["Ramo"] = r.Key.Branch;
row["Producto"] = r.Key.Product;
row["Poliza"] = r.Key.Policy;
row["Descripcion"] = r.Key.Descrip;
return row;
});
Saludos
__________________
Si tienes una función o procedimiento con diez parámetros, probablemente hayas olvidado uno |
|
#7
|
||||
|
||||
|
Pues hazlo con linq? Es muy similar a sql. Que has intentado?
P.D: Puedes poner el ejemplo en https://dotnetfiddle.net/akUcWR
__________________
El malabarista. |
![]() |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| concatenar dos valores de registros distintos según duplicados | lmpadron | SQL | 3 | 30-08-2012 17:05:05 |
| conteo de registros distintos | El Mike | SQL | 3 | 05-02-2009 21:42:16 |
| Saber número de registros distintos en una columna de una consulta. | Angel Fernández | Firebird e Interbase | 17 | 06-11-2008 12:10:05 |
| Actualizar DataTable | Juampy | .NET | 2 | 24-04-2007 19:17:19 |
| Concatenacion de caracteres de distintos registros | casandra | Firebird e Interbase | 10 | 17-08-2005 20:19:03 |
|