SoloCodigo

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

data grid 2

eq. principal....................................septima columna
e2.............................................................................1
e3.............................................................................1
e2.............................................................................1
e1.............................................................................1


en otro form

datagrid

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
  1. For Each drGrid1 As DataGridViewRow In DataGrid1.Rows
  2. For Each drGrid2 As DataGridViewRow In DataGrid2.Rows
  3. If drGrid2.Cells(0).Value = drGrid1.Cells(0).Value Then
  4. 'Tú código aquí..
  5. Exit For 'Para salir del segundo For Each..
  6. End If
  7. Next
  8. 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

http://www.google.com.mx/#sclient=psy-ab&hl=es&source=hp&q=como+recorrer+un+datagridview+en+c%23&pbx=1&oq=como+recorrer+un+datagridview+en+c%23&aq=f&aqi=&aql=&gs_sm=e&gs_upl=4180l4932l0l5262l4l4l0l0l0l0l226l226l2-1l1l0&bav=on.2,or.r_gc.r_pw.,cf.osb&fp=43c790ce6662f1a3&biw=1920&bih=961

saludos! :D
Título: Re:comparar dos datagridview y sumar
Publicado por: marto_vil en Viernes 11 de Noviembre de 2011, 16:19
 :gracias: andp checando el link que proprcionaste.

Un saludo.