none
Where RRS feed

  • Pergunta

  • Alguém tem alguma sugestão?

    Preciso carregar um CheckedBoxList dias do mes(1,2,3....), porém apenas com o dia da semana selecionada(seg,ter...). Em um drop eu seleciono o ano em outro o mes em outro o dia da semana desejado e no CheckedBoxList preciso que retorne por exemplo ao selecionar o ano 2012, mes julho, segunda o seguinte resultado:

    2-Seg

    9-Seg

    16-Seg

    23-Seg

    30-Seg

    As datas eu tenho relacionadas em um banco, então pensei em usar o ItemDataView.RowFilter, mas não estou tendo sucesso, pois está retornando com todas as segundas de todos os meses e anos, conforme o código abaixo:

    Dim Dadapter102 As OleDbDataAdapter = New OleDbDataAdapter
            Dadapter102.SelectCommand = New OleDbCommand("SELECT codDiaMesAno,diaMesAno,codDiaSemana,diaSemSigla1,codMesAno,codSemana, count(codMesAno) AS 'Count' FROM tbAgendaCalendario GROUP BY codDiaMesAno,diaMesAno,codDiaSemana,diaSemSigla1,codMesAno,codSemana ORDER BY codDiaMesAno", New OleDbConnection(My.Settings.SConecte))
            Dadapter102.Fill(DSet, "TBCalendarioDia") 
    
               retDATASET.ReadXml(Server.MapPath("output.xml"))
               Dim ItemDataView As New DataView(retDATASET.Tables("TBCalendarioDia"))
               ItemDataView.RowFilter = "codMesAno = " & ddlMes.SelectedItem.Value
               ItemDataView.RowFilter = "CodSemana = " & ddlSemana.SelectedItem.Value
               ddlDia.DataSource = ItemDataView
               ddlDia.DataTextField = ("diaMesAno")
               ddlDia.DataValueField = ("codDiaMesAno")
               ddlDia.DataBind()
               ddlDia.Items.Insert(0, "")
               ddlDia.SelectedIndex = 0

    segunda-feira, 16 de julho de 2012 13:53

Respostas

  • Nessas duas linhas:

    ItemDataView.RowFilter = "codMesAno = " & ddlMes.SelectedItem.Value
    ItemDataView.RowFilter = "CodSemana = " & ddlSemana.SelectedItem.Value

    Você muda duas vezes o valor de ItemDataView.RowFilter, ou seja, ele mantém só o último valor, faça dessa forma:

    ItemDataView.RowFilter = "codMesAno = " & ddlMes.SelectedItem.Value & " AND CodSemana = " & ddlSemana.SelectedItem.Value

    Abraços!


    Thiago Coelho
    thiagocoelho.net
    @thiagokoelho

    • Marcado como Resposta Wilson Boris segunda-feira, 16 de julho de 2012 14:08
    segunda-feira, 16 de julho de 2012 14:02

Todas as Respostas

  • Nessas duas linhas:

    ItemDataView.RowFilter = "codMesAno = " & ddlMes.SelectedItem.Value
    ItemDataView.RowFilter = "CodSemana = " & ddlSemana.SelectedItem.Value

    Você muda duas vezes o valor de ItemDataView.RowFilter, ou seja, ele mantém só o último valor, faça dessa forma:

    ItemDataView.RowFilter = "codMesAno = " & ddlMes.SelectedItem.Value & " AND CodSemana = " & ddlSemana.SelectedItem.Value

    Abraços!


    Thiago Coelho
    thiagocoelho.net
    @thiagokoelho

    • Marcado como Resposta Wilson Boris segunda-feira, 16 de julho de 2012 14:08
    segunda-feira, 16 de julho de 2012 14:02
  • Certíssimo. Muito Obrigado Thiago.
    segunda-feira, 16 de julho de 2012 14:08