Foro de elhacker.net

Programación => .NET (C#, VB.NET, ASP) => Mensaje iniciado por: SRVAM en 10 Febrero 2010, 20:45 pm



Título: [C#] DataView.rowfilter (filtrar por un intervalo de fechas)
Publicado por: SRVAM en 10 Febrero 2010, 20:45 pm
buenas a todos!!

necesitaria vuestra ayuda, again. no se como hacer para filtrar un dataview con un intervalo de fechas, porque el rowfilter no admite el between de sql :(

cambie el codigo e hice lo siguiente, pero sigue sin funcionar. me dice que no es un formato de datetime valido.

Código
  1.        private void btn_buscar_Click(object sender, EventArgs e)
  2.        {
  3.            try
  4.            {
  5.                if (txt_buscar.Text != "" && txt_buscar2.Text != "")
  6.                {
  7.                    DataView filtro = new DataView(dt_Ganancias);
  8.  
  9.                    filtro.RowFilter = "Fecha >= #" + Convert.ToDateTime(txt_buscar.Text) + "# AND Fecha <= #" + Convert.ToDateTime(txt_buscar2.Text) + "#'";
  10.                    dgv_Ganancias.DataSource = filtro;
  11.                }
  12.            }
  13.            catch (Exception ex)
  14.            {
  15.            }
  16.        }
  17.  

espero que podai ayudar a hacer que funcione.

gracias por adelantado y saludos a todos


Título: Re: [C#] DataView.rowfilter (filtrar por un intervalo de fechas)
Publicado por: MANULOMM en 12 Febrero 2010, 03:51 am
cuanto el datetime se pasa a string no pasa con un formato valido.

intenta mandar la fecha asi
añomesdia sin separadores, si asi no funciona entonces año/mes/dia.

Estas concatenando un string con un DateTime lo mas seguro es que este colocando la hora...
Tambien puedes utilizar LINQ.

Atentamente,

Juan Manuel Lombana
Medellín - Colombia


Título: Re: [C#] DataView.rowfilter (filtrar por un intervalo de fechas)
Publicado por: SRVAM en 12 Febrero 2010, 09:17 am
gracias MANULOMM.
pero sigo atascado. como puedo formatear la fecha para que a la hora de pasarla sea del tipo shor??

estoy probando con el metodo "datetime.parse(string, iformatprovider)" pero no se como darle el fomato.

podrias explicarme como funciona el iformatprovider por favor?? estoy mirando en la msdn pero no termino de verlo claro.

un saludo y gracias de nuevo


Título: Re: [C#] DataView.rowfilter (filtrar por un intervalo de fechas)
Publicado por: MANULOMM en 12 Febrero 2010, 20:06 pm
no hombre es todo lo contrario tienes un DateTime y lo tienes que poner en String

asi:
Código
  1. DateTime.ToString("yyyyMMdd")
  2.  

Atentamente,

Juan Manuel Lombana
Medellín - Colombia