none
Dia del Mes como columna en un DataGridView RRS feed

  • Pregunta

  • Buenas tardes compañeros del foro. mi duda es lasiguiente:

    Pues resulta que estoy desarrollando una aplicacion de nominas de empleados y estoy en el modulo de asistencia de personal.

    Tengo una duda con respecto lo que menciono en el titulo de esta pregunta, basicamente consiste en lo siguiente.  tengo que seleccionar en un datepicker un periodo. el datepicker tiene el formato siguiente (Junio/2012, Julio/2012, Agosto/2012, etc.)

    Entonces al seleccionar el periodo respectivo y presionar buscar, me tiene que cargar en la grilla los numeros del dia del mes como columnas. algo asi.  01l02l03l04l05 etc.. dependiendo del numero de dia del mes. si es febrero  28 dias o 29 si el año es bisciesto.

    Desde codigo no se me ocurre como hacerlo, creo yo que esto se tiene que hacer desde codigo C#, definir las columnas en tiempo de ejecucion mediante un bucle.

    lunes, 2 de julio de 2012 19:50

Respuestas

Todas las respuestas

  • puedes usar DateTime.DaysInMonth() para saber cuantos días tiene el mes y en base a esto agregar las columnas

    Salu2,


    Marvin E. Pineda

      ComboBoxMultiColumns

     NetBarControl

      TextEditor

    lunes, 2 de julio de 2012 19:56
    Moderador
  • si es febrero  28 dias o 29 si el año es bisciesto.

    prueba usar el metodo que menciono, este devolveria los dias del mes

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    lunes, 2 de julio de 2012 19:58
  • Bueno puedes probar con esto, primero obtienes el mes y el año y aplicas el método DaysInMonth, después solo es cuestión de hacer un recorrido desde el 1 al total de días del mes y agregarlo a tu datagrid.

                    int iMes = this.dtpPeriodo.Value.Month;
                    int iAnho = this.dtpPeriodo.Value.Year;
                    int iDias = System.DateTime.DaysInMonth(iAnho, iMes);

                    DataTable dtDias = new DataTable();
                    for (int i = 1; i <= iDias; i++)
                    {
                        dtDias.Columns.Add(i.ToString());
                    }

                    this.dgvDias.DataSource = dtDias;

    Saludos!

    martes, 3 de julio de 2012 3:21