es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Horario de periodos en DataGridView en c#

Tengo un DataGridView llamado TimesDgv que contiene los horarios de los períodos escolares. Quiero generar automáticamente los horarios, como se muestra en la imagen de captura de pantalla. ¿Cómo puedo hacer esto?

Este es mi código:

 for (int i = 0; i < TimesDgv.RowCount - 1; i++)
            {
                TimesDgv.Rows[i].Cells[1].Value = TimesDgv.Rows[i].Cells[2].Value;
                DateTime time = Convert.ToDateTime(TimesDgv.Rows[i].Cells[1].Value);
                TimesDgv.Rows[i].Cells[2].Value = time.AddMinutes(40).ToString("hh:mm");
            }

Imagen de captura de pantalla: https://i.stack.imgur.com/RCe58.jpg

Descripción de la imagen: https://i.stack.imgur.com/pSwZf.jpg

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Para generar automáticamente los horarios de un DataGridView llamado TimesDgv que contiene los horarios de los períodos escolares, se puede usar el siguiente código:

    // Recorra cada fila en el DataGridView
    for (int i = 0; i < TimesDgv.RowCount - 1; i++)
    {
        // Establezca la hora de inicio de la fila actual como la hora de finalización de la fila anterior
        TimesDgv.Rows[i].Cells[1].Value = TimesDgv.Rows[i - 1].Cells[2].Value;
    
        // Convierta la hora de inicio en un objeto DateTime
        DateTime startTime = Convert.ToDateTime(TimesDgv.Rows[i].Cells[1].Value);
    
        // Agregue 40 minutos a la hora de inicio para generar la hora de finalización
        DateTime endTime = startTime.AddMinutes(40);
    
        // Establezca la hora de finalización de la fila actual como la hora de finalización generada
        TimesDgv.Rows[i].Cells[2].Value = endTime.ToString("hh:mm");
    }
    

    Este código recorrerá cada fila en el DataGridView y generará las horas de inicio y finalización apropiadas en función de la hora de finalización de la fila anterior y un intervalo constante de 40 minutos. La hora de inicio se convierte en un objeto DateTime para que se pueda manipular fácilmente y la hora de finalización se formatea como una cadena en el formato “hh:mm” para una mejor legibilidad.

Comments are closed.