AJUDA COM O LISTVIEW
Bom dia a todos
Estou tentando fazer em meu programa um ListView com as seguintes opções de procura:
Série Escolar -> Série ao qual o aluno está matriculado -> ComboBox - > 1º Ano / 2º Ano... -> SERALU_ALU
Turno ----------> Turno -> Manhã / Tarde / Noite ----------> ComboBox ---------------------------> PERALU_ALU
Ano Letivo-----> Ano corrente-------------------------------> ComboBox -> 2011 -----------------> ANOALU_ALU
Bem, a procura é realizada com sucesso, só que na hora de mostrar os dados destes alunos no listview não apareçe conforme a procura escolhida pelo usuário. A SUB-ROTINA está abaixo.
Sub Lista_Dados_Alunos()
Dim ProcAlunos As String
New_Turno = IIf(Me.CmB_Turno.Text = [Ô]Manhã[Ô], [Ô]001[Ô], IIf(Me.CmB_Turno.Text = [Ô]Tarde[Ô], [Ô]002[Ô], [Ô]003[Ô]))
ProcAlunos = [Ô]SELECT * FROM tab_aluno where SERALU_ALU & PERALU_ALU & ANOALU_ALU = [ô][Ô] & Me.Cmb_Serie.Text & New_Turno & Me.Cmb_AnoLet.Text & [Ô][ô][Ô]
Dim NewListas As New ListViewItem
Dim dr_Alunos As MySqlDataReader
Dim Con_Alunos As New MySqlConnection(StrServEsc01)
Dim Cmd_Alunos As New MySqlCommand(ProcAlunos, Con_Alunos)
Con_Alunos.Open()
dr_Alunos = Cmd_Alunos.ExecuteReader
Try
If dr_Alunos.HasRows Then
ListView1.Items.Clear()
ListView1.View = View.Details
ListView1.FullRowSelect = True
ListView1.SmallImageList = ImageList1
If dr_Alunos.Read Then
While dr_Alunos.Read
If Trim(dr_Alunos.Item([Ô]SERALU_ALU[Ô])) & Trim(dr_Alunos.Item([Ô]PERALU_ALU[Ô])) & Trim(dr_Alunos.Item([Ô]ANOALU_ALU[Ô])) = Me.Cmb_Serie.Text & New_Turno & Me.Cmb_AnoLet.Text And dr_Alunos.Item([Ô]STATUS_ALU[Ô]).ToString = [Ô]V[Ô] Then
NewListas = ListView1.Items.Add(dr_Alunos.Item([Ô]CODALU_ALU[Ô]).ToString, 0) -> CÓDIGO
NewListas.SubItems.Add(dr_Alunos.Item([Ô]NOMALU_ALU[Ô]).ToString) ---------------> NOME DO ALUNO
NewListas.SubItems.Add(dr_Alunos.Item([Ô]SERALU_ALU[Ô]).ToString) ----------------> SéRIE AO QUAL ESTà CURSANDO
End If
End While
End If
Else
ListView1.Items.Clear()
End If
Catch ex As Exception
MsgBox(ex.Message)
End Try
Con_Alunos.Close()
dr_Alunos.Close()
End Sub
Por favor me aponte o que está de errado nesta procura e visualização dos dados para esta sub rotina.
Obrigado,
Estou tentando fazer em meu programa um ListView com as seguintes opções de procura:
Série Escolar -> Série ao qual o aluno está matriculado -> ComboBox - > 1º Ano / 2º Ano... -> SERALU_ALU
Turno ----------> Turno -> Manhã / Tarde / Noite ----------> ComboBox ---------------------------> PERALU_ALU
Ano Letivo-----> Ano corrente-------------------------------> ComboBox -> 2011 -----------------> ANOALU_ALU
Bem, a procura é realizada com sucesso, só que na hora de mostrar os dados destes alunos no listview não apareçe conforme a procura escolhida pelo usuário. A SUB-ROTINA está abaixo.
Sub Lista_Dados_Alunos()
Dim ProcAlunos As String
New_Turno = IIf(Me.CmB_Turno.Text = [Ô]Manhã[Ô], [Ô]001[Ô], IIf(Me.CmB_Turno.Text = [Ô]Tarde[Ô], [Ô]002[Ô], [Ô]003[Ô]))
ProcAlunos = [Ô]SELECT * FROM tab_aluno where SERALU_ALU & PERALU_ALU & ANOALU_ALU = [ô][Ô] & Me.Cmb_Serie.Text & New_Turno & Me.Cmb_AnoLet.Text & [Ô][ô][Ô]
Dim NewListas As New ListViewItem
Dim dr_Alunos As MySqlDataReader
Dim Con_Alunos As New MySqlConnection(StrServEsc01)
Dim Cmd_Alunos As New MySqlCommand(ProcAlunos, Con_Alunos)
Con_Alunos.Open()
dr_Alunos = Cmd_Alunos.ExecuteReader
Try
If dr_Alunos.HasRows Then
ListView1.Items.Clear()
ListView1.View = View.Details
ListView1.FullRowSelect = True
ListView1.SmallImageList = ImageList1
If dr_Alunos.Read Then
While dr_Alunos.Read
If Trim(dr_Alunos.Item([Ô]SERALU_ALU[Ô])) & Trim(dr_Alunos.Item([Ô]PERALU_ALU[Ô])) & Trim(dr_Alunos.Item([Ô]ANOALU_ALU[Ô])) = Me.Cmb_Serie.Text & New_Turno & Me.Cmb_AnoLet.Text And dr_Alunos.Item([Ô]STATUS_ALU[Ô]).ToString = [Ô]V[Ô] Then
NewListas = ListView1.Items.Add(dr_Alunos.Item([Ô]CODALU_ALU[Ô]).ToString, 0) -> CÓDIGO
NewListas.SubItems.Add(dr_Alunos.Item([Ô]NOMALU_ALU[Ô]).ToString) ---------------> NOME DO ALUNO
NewListas.SubItems.Add(dr_Alunos.Item([Ô]SERALU_ALU[Ô]).ToString) ----------------> SéRIE AO QUAL ESTà CURSANDO
End If
End While
End If
Else
ListView1.Items.Clear()
End If
Catch ex As Exception
MsgBox(ex.Message)
End Try
Con_Alunos.Close()
dr_Alunos.Close()
End Sub
Por favor me aponte o que está de errado nesta procura e visualização dos dados para esta sub rotina.
Obrigado,
Cara, teu código para montar os itens e subitens da ListView parace estar correto
Mas tua condição está retornando resultados?
Pelo que eu to vendo, somente será inserido conteúdo na ListView se esta condição acima for satisfeita
Verifique se a lógica dela está correta.
Mas tua condição está retornando resultados?
If [txt-color=#0000f0]Trim[/txt-color](dr_Alunos.Item([txt-color=#e80000][Ô]SERALU_ALU[Ô][/txt-color])) & Trim(dr_Alunos.Item([txt-color=#e80000][Ô]PERALU_ALU[Ô][/txt-color])) & Trim(dr_Alunos.Item([txt-color=#e80000][Ô]ANOALU_ALU[Ô][/txt-color])) = Me.Cmb_Serie.Text & New_Turno & Me.Cmb_AnoLet.Text And dr_Alunos.Item([txt-color=#e80000][Ô]STATUS_ALU[Ô][/txt-color]).ToString = [txt-color=#e80000][Ô]V[Ô][/txt-color] Then
Pelo que eu to vendo, somente será inserido conteúdo na ListView se esta condição acima for satisfeita
Verifique se a lógica dela está correta.
PEGUDO - obrigado por ter respondido, a lógica está correta. O que estou tentando fazer:
1 - Verificar se a série + o perÃodo + o ano é condizente com o que foi escolhido pelo usuário nos combox
2 - Mostrar na tela estes alunos previamente escolhidos pelos comboxs
Só que não aparece, em um teste feito com variáveis o programa acha o que foi escolhido mais mostra outros alunos que não tem nada ver, ou seja, mostra os alunos das séries posteriores.
Ex:
Escolhido pelo Usuário
Série Turno Ano
| | |
1º ano + Tarde + 2011
Mostra o seguinte: 3º ano + Manhã + 2011
Não consigo saber o porque disto.
Se alguém tiver alguma sugestão, será bem receida.
Obrigado,
1 - Verificar se a série + o perÃodo + o ano é condizente com o que foi escolhido pelo usuário nos combox
2 - Mostrar na tela estes alunos previamente escolhidos pelos comboxs
Só que não aparece, em um teste feito com variáveis o programa acha o que foi escolhido mais mostra outros alunos que não tem nada ver, ou seja, mostra os alunos das séries posteriores.
Ex:
Escolhido pelo Usuário
Série Turno Ano
| | |
1º ano + Tarde + 2011
Mostra o seguinte: 3º ano + Manhã + 2011
Não consigo saber o porque disto.
Se alguém tiver alguma sugestão, será bem receida.
Obrigado,
Tem como postar um exemplo do teu programa aqui?
Pode ser que, com um exemplo, possamos ajudá-lo melhor
Pode ser que, com um exemplo, possamos ajudá-lo melhor
PEGUDO - tentei fazer o melhor exemplo como vc pediu - veja arquivo anexo
Desculpe-me não anexei o banco de dados
Tópico encerrado , respostas não são mais permitidas