CLR: .Net / Mono / Boo / Otros CLR > C#
Comparar Cells de DataGridView diferentes
(1/1)
lugarda:
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:
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:
Gracias por tu respuesta , finalmente el código lo hice así:
--- Código: C# --- private void dataGridView2_CellValidating(object sender, DataGridViewCellValidatingEventArgs e) { bool existe=false; // para verificar si la factura existe en el DataGridView1 if (e.ColumnIndex == 1) { foreach (DataGridViewRow row in dataGridView1.Rows) { if (row.Cells["colFactura"].Value.ToString() == e.FormattedValue.ToString()) { existe = true; break; } } if (!existe && !String.IsNullOrEmpty(e.FormattedValue.ToString())) { e.Cancel = true; dataGridView2.Rows[e.RowIndex].ErrorText = "Factura no existe"; //MessageBox.Show("Factura no existe", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } } } private void dataGridView2_CurrentCellDirtyStateChanged(object sender, EventArgs e) { if (dataGridView2.IsCurrentCellDirty) { dataGridView2.CommitEdit(DataGridViewDataErrorContexts.Commit); } }
braescobedo:
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
Navegación
Ir a la versión completa