[C#] DataView.rowfilter (filtrar por un intervalo de fechas)

Iniciado por SRVAM, 10 Febrero 2010, 20:45 PM

0 Miembros y 1 Visitante están viendo este tema.

SRVAM

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 (csharp) [Seleccionar]
        private void btn_buscar_Click(object sender, EventArgs e)
        {
            try
            {
                if (txt_buscar.Text != "" && txt_buscar2.Text != "")
                {
                    DataView filtro = new DataView(dt_Ganancias);

                    filtro.RowFilter = "Fecha >= #" + Convert.ToDateTime(txt_buscar.Text) + "# AND Fecha <= #" + Convert.ToDateTime(txt_buscar2.Text) + "#'";
                    dgv_Ganancias.DataSource = filtro;
                }
            }
            catch (Exception ex)
            {
            }
        }


espero que podai ayudar a hacer que funcione.

gracias por adelantado y saludos a todos
C# Programmer

-Estudiante MCTS .NET Framework 3.5-

MANULOMM

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


SRVAM

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
C# Programmer

-Estudiante MCTS .NET Framework 3.5-

MANULOMM

no hombre es todo lo contrario tienes un DateTime y lo tienes que poner en String

asi:
Código (csharp) [Seleccionar]

DateTime.ToString("yyyyMMdd")


Atentamente,

Juan Manuel Lombana
Medellín - Colombia