none
Filtrar pelo calendario usando o GriedView RRS feed

  • Pergunta

  • Bom dia,

    Tenho uma tela que existem cadastros por data, eu coloquei um calendar, e gostaria que quando selecionasse o calendar, apareceria um griedView com a Data que selecionei no Calendar, porém estou com dificuldades de criar o Select no GriedView, para filtrar pela data.

     

    Alguém poderia me ajudar

     

    segunda-feira, 22 de agosto de 2011 12:46

Respostas

  • Amigo, segue um exemplo filtrando uma tabela de vendas:

    protected void Calendar1_SelectionChanged(object sender, EventArgs e)
      {
        System.Text.StringBuilder strSQL = new System.Text.StringBuilder();
        strSQL.Append("SELECT * FROM VENDA WHERE ");
        strSQL.Append("CAST(FLOOR(CAST(DtVendas AS FLOAT))AS DATETIME) = ");
        strSQL.Append("CAST(FLOOR(CAST(@DtVendas AS FLOAT))AS DATETIME)");
         //Instancia a conexão com banco,capturando a string de conexão no web.config
        using (SqlConnection conn = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["exampleConnectionString"].ToString()))
        {
          conn.Open();
          using (SqlCommand cmd = new SqlCommand(strSQL.ToString(), conn))
          {
            //Parâmetros
            cmd.Parameters.Add("@DtVendas", SqlDbType.DateTime).Value = Calendar1.SelectedDate;
            SqlDataAdapter dta = new SqlDataAdapter(cmd);
            DataSet ds = new DataSet();
            dta.Fill(ds);
            GridView1.DataSource = ds;
            GridView1.DataBind();
          }
        }
      }
    

    veja que no comando sql:

    SELECT * FROM VENDA WHERE CAST(FLOOR(CAST(DtVendas AS FLOAT))AS DATETIME) = CAST(FLOOR(CAST(@DtVendas AS FLOAT))AS DATETIME)
    

    o CAST(FLOOR(CAST serve para isolar o que é data de hora. isso não é necessário se na sua tabela você armazena somente a data. se for data e hora, é bom fazer assim.


    Olavo Oliveira Neto
    http://olavooneto.wordpress.com
    Se for útil marque como resposta e faça um Developer feliz :)
    • Marcado como Resposta Faussuaf quarta-feira, 2 de novembro de 2011 04:56
    segunda-feira, 22 de agosto de 2011 16:21