none
Recorrer un DataGridView con un boton en c# RRS feed

  • Pregunta

  • Muy buenas tardes, Dias o noches, necesito su ayuda.

    Tengo un boton y un datagridview con 10 columnas y 100 filas en el mismo form y quiero que al hacer click en ese boton recorra 1 por 1 el datagridview Coloreando de rojo 1 por 1: pero solo me funciona a la primera fila. Desde ya muchas gracias si pueden ayudarme

    estoy usando 

    dataGridView2.DataSource = espasmosDAL.ventasnuevas(textbuslab.Text, textbuscar.Text, textbuscarpre.Text, textbuscarV.Text, textcantidad.Text);
                foreach (DataGridViewRow row in dataGridView2.Rows)
                {
                    double dias;
                    int a=0;
                    if(dias > 30)
                    {
                        dataGridView2.Rows[a].DefaultCellStyle.BackColor = Color.Red;
                    }
                    a++;
                }

    sábado, 11 de noviembre de 2017 20:46

Respuestas

  • Sobre el código que adjuntas realiza la siguiente actualización:

    dataGridView2.DataSource = ...
    foreach (DataGridViewRow row in dataGridView2.Rows)
    {
    	DateTime oldtime = Convert.ToDateTime(row.Cells[7].Value);
    	DateTime newtime = Convert.ToDateTime(row.Cells[8].Value);
    	if ((newtime - oldtime).Days > 30)
    	{
    		row.DefaultCellStyle.BackColor = Color.Red;
    	}                
    }

    • Propuesto como respuesta Jorge TurradoMVP sábado, 11 de noviembre de 2017 21:36
    • Marcado como respuesta Jose Vega98 sábado, 11 de noviembre de 2017 21:44
    sábado, 11 de noviembre de 2017 21:35

Todas las respuestas

  •             dataGridView2.DataSource = espasmosDAL.ventasnuevas(textbuslab.Text, textbuscar.Text, textbuscarpre.Text, textbuscarV.Text, textcantidad.Text);
                foreach (DataGridViewRow row in dataGridView2.Rows)
                {
                    double dias;
                    int a=0;
                    int kia = row.Index;
                    DateTime oldtime = Convert.ToDateTime(dataGridView2.CurrentRow.Cells[7].Value);
                    DateTime newtime = Convert.ToDateTime(dataGridView2.CurrentRow.Cells[8].Value);
                    TimeSpan ts = newtime - oldtime;
                    int differenceInDays = ts.Days;
                    textBox3.Text = ts.Days.ToString();
                    dias = double.Parse(textBox3.Text);
                    if(dias > 30)
                    {
                        dataGridView2.Rows[a].DefaultCellStyle.BackColor = Color.Red;
                    }
                    a++;
                }

    Copie mal el codigo este es el original

    sábado, 11 de noviembre de 2017 21:27
  • Sobre el código que adjuntas realiza la siguiente actualización:

    dataGridView2.DataSource = ...
    foreach (DataGridViewRow row in dataGridView2.Rows)
    {
    	DateTime oldtime = Convert.ToDateTime(row.Cells[7].Value);
    	DateTime newtime = Convert.ToDateTime(row.Cells[8].Value);
    	if ((newtime - oldtime).Days > 30)
    	{
    		row.DefaultCellStyle.BackColor = Color.Red;
    	}                
    }

    • Propuesto como respuesta Jorge TurradoMVP sábado, 11 de noviembre de 2017 21:36
    • Marcado como respuesta Jose Vega98 sábado, 11 de noviembre de 2017 21:44
    sábado, 11 de noviembre de 2017 21:35
  • Gracias Amigo muchas gracias
    sábado, 11 de noviembre de 2017 21:44