• Viernes 3 de Mayo de 2024, 04:47

Autor Tema:  Comparar Cells de DataGridView diferentes  (Leído 7668 veces)

lugarda

  • Miembro activo
  • **
  • Mensajes: 52
  • Nacionalidad: co
    • Ver Perfil
Comparar Cells de DataGridView diferentes
« en: Martes 27 de Julio de 2010, 21:12 »
0
Hola a todos, necesito un ayudita y es que necesito comparar dos celdas de DataGridView distintas . En verdad he buscado mucho en internet pero no logro encontrar la forma o el evento desde donde pueda hacer esta verificación.

Si alguno me puede ayudar se los agradezco mucho.

gerloxxx

  • Miembro MUY activo
  • ***
  • Mensajes: 121
    • Ver Perfil
Re: Comparar Cells de DataGridView diferentes
« Respuesta #1 en: Miércoles 28 de Julio de 2010, 18:05 »
0
En que momento quieres comparar las celdas? para tener idea que evento te puede servir, CellEndEdit al terminar de editar la celda, CellLeave al salir de la celda... etc. Ten encuenta que cuando estás editando un renglon del Grid, el valor no cambia hasta que se confirma la edición del renglon, pero eso lo soluciones con el evento: CurrentCellDirtyStateChanged

saludos

lugarda

  • Miembro activo
  • **
  • Mensajes: 52
  • Nacionalidad: co
    • Ver Perfil
Re: Comparar Cells de DataGridView diferentes
« Respuesta #2 en: Miércoles 28 de Julio de 2010, 18:51 »
0
Gracias por tu respuesta , finalmente el código lo hice así:
Código: C#
  1.  
  2.  private void dataGridView2_CellValidating(object sender, DataGridViewCellValidatingEventArgs e)
  3.         {
  4.             bool existe=false;
  5.             // para verificar si la factura existe en el DataGridView1
  6.             if (e.ColumnIndex == 1)
  7.             {
  8.                 foreach (DataGridViewRow row in dataGridView1.Rows)
  9.                 {
  10.                     if (row.Cells["colFactura"].Value.ToString() == e.FormattedValue.ToString())
  11.                     {
  12.                         existe = true;
  13.                         break;
  14.                     }                    
  15.                 }
  16.                 if (!existe && !String.IsNullOrEmpty(e.FormattedValue.ToString()))
  17.                 {
  18.                     e.Cancel = true;
  19.                     dataGridView2.Rows[e.RowIndex].ErrorText = "Factura no existe";
  20.                     //MessageBox.Show("Factura no existe", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
  21.                 }
  22.             }
  23.         }
  24.  
  25.         private void dataGridView2_CurrentCellDirtyStateChanged(object sender, EventArgs e)
  26.         {
  27.             if (dataGridView2.IsCurrentCellDirty)
  28.             {
  29.                 dataGridView2.CommitEdit(DataGridViewDataErrorContexts.Commit);
  30.             }
  31.         }
  32.  
  33.  

braescobedo

  • Nuevo Miembro
  • *
  • Mensajes: 5
    • Ver Perfil
Re:Comparar Cells de DataGridView diferentes
« Respuesta #3 en: Miércoles 28 de Septiembre de 2011, 22:23 »
0
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, seme ocurrio algo asi con 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