SoloCodigo

CLR: .Net / Mono / Boo / Otros CLR => C# => Mensaje iniciado por: carlitosabril01 en Domingo 29 de Septiembre de 2013, 07:18

Título: Manipulacion de celdas en un DataGridView
Publicado por: carlitosabril01 en Domingo 29 de Septiembre de 2013, 07:18
Hola  Tengo un problema con la manipulación de mi datagridview en el cual necesito que cuando le de click  en una celda , tome valores de celdas anteriores para poder calcular el promedio y dar un valor a las celdas posteriores.

Código: [Seleccionar]
private void dgvDetalle_CellClick(object sender, DataGridViewCellEventArgs e)
        {
             //ingreso del promedio
           
           
            if ((string)dgvDetalle.CurrentRow.Cells["Notas_Materias"].Value == "" &&
            (double)dgvDetalle.CurrentRow.Cells["Notas_N1"].Value == 0 &&
            (double)dgvDetalle.CurrentRow.Cells["Notas_N2"].Value == 0)
            {
                double promedio = (((double)dgvDetalle.CurrentRow.Cells["Notas_N1"].Value) +
                ((double)dgvDetalle.CurrentRow.Cells["Notas_N2"].Value)) / 2;
                dgvDetalle.CurrentRow.Cells["Notas_Total"].Value = promedio;
                if (promedio >= 7)
                {
                    dgvDetalle.CurrentRow.Cells["Notas_Estado"].Value = "A";
                }
                else
                {
                    if (promedio > 5.5)
                        dgvDetalle.CurrentRow.Cells["Notas_Estado"].Value = "S";

                    else
                        dgvDetalle.CurrentRow.Cells["Notas_Estado"].Value = "R";

                }
            }
        }
ya intente con el evento cellclick pero no encontre un evento para poder manipular solo esa celda.
Título: Re:Manipulacion de celdas en un DataGridView
Publicado por: agustinsuana en Jueves 10 de Octubre de 2013, 06:44
Prueba con el evento CellClick

Código: C#
  1. private void dgNotas_CellClick(object sender, DataGridViewCellEventArgs e)
  2. {
  3. dgNotas.CurrentRow.Cells[3].Value = (decimal.Parse(dgNotas.CurrentRow.Cells[1].Value) + decimal.Parse(dgNotas.CurrentRow.Cells[2].Value)) / 2;
  4. }