CLR: .Net / Mono / Boo / Otros CLR => C# => Mensaje iniciado por: braescobedo en Miércoles 28 de Septiembre de 2011, 22:25
Título: comparar dos datagridview y sumar
Publicado por: braescobedo en Miércoles 28 de Septiembre de 2011, 22:25
hola que tal
mi problema e sel siguiente tengo dos datagrids en un form y su primera columna se llama equipo principal de los dos datagrid y lo que quiero es que compare que si tienen el mismo equipo principal que se sume la septima columna cuando sean iguales pero que se sume la del datagrid 1 y la del datagrid 2 por separado, para asi en otro form pasarlo a otro datagrid donde ponga el equipo principal y la suma de la septima columna del datarid 1 y la suma de la septima columna del datagrid 2. algo asi:
datagrid 1
eq. principal .........................septima columna e1...........................................................................1 e2...........................................................................1 e2 ..........................................................................1
equipo principal ......suma sept. col. de datagrid1..........suma sept. col. de datagrid2 e1.......................................................................1..............................................................1 e2 ......................................................................2............................................................. 2 e3 ......................................................................0............................................................. 1
de ante mano muchas gracias por el que me ayude con esto tengo, se me ocurrio algo asi para comparar el primer datagrid
For x As Integer = 0 To dg_tc.Rows.Count - 1
For y As Integer = x + 1 To dg_tc.Rows.Count - 1 If dg_tc.Item(0, x).Value = dg_tc.Item(0, y).Value Then u = Val(dg_tc.Item(7, x).Value) + Val(dg_tc.Item(7, y).Value) ElseIf dg_tc.Item(0, x).Value <> dg_tc.Item(0, y).Value Then u = Val(dg_tc.Item(7, x).Value) End If Next
Título: Re:comparar dos datagridview y sumar
Publicado por: gabio2 en Jueves 29 de Septiembre de 2011, 04:41
eso que "se te ocurrio".. está en VB.. y creo que estás en el foro de C#.. jajaja bueno no importa.. para comparar 2 datagrids.. puedes usar foreach anidados..
Código: vb.net
ForEach drGrid1 As DataGridViewRow In DataGrid1.Rows
ForEach drGrid2 As DataGridViewRow In DataGrid2.Rows
If drGrid2.Cells(0).Value= drGrid1.Cells(0).ValueThen
'Tú código aquí..
ExitFor'Para salir del segundo For Each..
EndIf
Next
Next
Espero hayas entendido.. saludos! :)
Título: Re:comparar dos datagridview y sumar
Publicado por: braescobedo en Lunes 3 de Octubre de 2011, 17:24
Hola que tal, primero que nada gracias por responder mi pregunta. Creo que si entendi tu idea tengo un detalle al momento de implementar tu codigo me marca error en el cells if dgf.Cells(0).value = dgc.Cells(0).value then
en el primer cells me marca error Error 1 'Cells' no es un miembro de 'System.Windows.Forms.DataGridView' pero ya importe: Imports System.Windows.Forms Estoy trabajando en vb.net 2008
Título: Re:comparar dos datagridview y sumar
Publicado por: braescobedo en Lunes 3 de Octubre de 2011, 17:57
ya corregi eso, mira tengo el codigo asi pero me lo repite tres veces pero solo del primer grid no se como hacerle para que ya me lo haga con los dos bien
For Each dgc As DataGridViewRow In dg_tc.Rows For Each dgf As DataGridViewRow In dg_tf.Rows If dgf.Cells(0).Value = dgc.Cells(0).Value Then For x As Integer = 0 To dg_tc.Rows.Count - 1 For y As Integer = x + 1 To dg_tc.Rows.Count - 1 If dg_tc.Item(0, x).Value = dg_tc.Item(0, y).Value Then u = Val(dg_tc.Item(7, x).Value) + Val(dg_tc.Item(7, y).Value) ElseIf dg_tc.Item(0, x).Value <> dg_tc.Item(0, y).Value Then u = Val(dg_tc.Item(7, x).Value) End If Next t = dg_tc.Item(0, x).Value variable.guardad(t, u, v) intercambiador2.instancia = variable intercambiador2.dibujarTablad() Next Exit For End If Next Next intercambiador2.Show()
Título: Re:comparar dos datagridview y sumar
Publicado por: gabio2 en Martes 4 de Octubre de 2011, 16:14
Para empezar, te recomiendo leas algo sobre como declarar variables algunas, algunas normas sobres eso, por qué dejame decirte que da trabajo entender tú código usando variables en minúsculas nada más.
Segundo, si te das cuenta que recorres 2 veces cada grid? es decir al utilizar el For Each y el For x Ad Integer = 0 To , realmente no sé para que haces eso, se me hace que tienes que repasar tús instrucciones (If-Else,While,Select Case,For,For Each, etc), para mí lo único que necesitas son 2 For Each, ahora si quieres resolver tú problema te aconsejo primero DIVIDAS tú problema y preguntes por partes.
Un saludo. :)
Título: Re:comparar dos datagridview y sumar
Publicado por: marto_vil en Miércoles 9 de Noviembre de 2011, 16:39
veo respuestas en VB pero alguien podria poner algo en C# para poder ampliar el panorama, :gracias:
Título: Re:comparar dos datagridview y sumar
Publicado por: gabio2 en Jueves 10 de Noviembre de 2011, 02:21
La lógica es la misma sólo tienes que cambiar la sintaxis marto_vil, aquí te dejo algunas páginas que te podrian servir