Usuário com melhor resposta
Executando varios laços ou procedimentos ao iniciar formulário

Pergunta
-
Boa tarde Galera,
Estou tendo uma duvida irritante, na abertura de um certo formulário, ele acessa um banco de dados e retorna em uma datatable os dados que utilizo para preencher um checklistbox, no total tenho tres, e preencho todos da mesma forma. Só que quando inicio o formulário ele só executa a primenta rotina, passando direto para a abertura do formulário sem carregar as demais checklist, oque está ocorrendo de errado?
Private Sub frmCadastrar_Load(sender As Object, e As EventArgs) Handles Me.Load ChkAcaointerna() ChkConseguenciaInterna() ChkOcorrencia() End Sub Private Sub ChkOcorrencia() Dim i As Integer Dim ObterDados As Conexao = New Conexao Dim Dt As New DataTable Dt = ObterDados.ChkLer("tblOcorrencia") With Me.cblOcorrencia If Dt.Rows.Count > 0 Then .Font = New Font("arial", 10) For i = 0 To Dt.Rows.Count .Items.Add(Dt.Rows(i).Item(1).ToString, False) Next End If .Items.Add("Outros", False) End With End Sub Private Sub ChkConseguenciaInterna() Dim i As Integer Dim ObterDados As Conexao = New Conexao Dim Dt As New DataTable Dt = ObterDados.ChkLer("tblConseguenciaInterna") If Dt.Rows.Count > 0 Then With Me.cblConseguencias .Font = New Font("arial", 10) For i = 0 To Dt.Rows.Count .Items.Add(Dt.Rows(i).Item(1).ToString, False) Next End With End If End Sub Private Sub ChkAcaointerna() Dim Row As Integer Dim ObterDados As Conexao = New Conexao Dim Dt As New DataTable Dt = ObterDados.ChkLer("tblAcaoInterna") If Dt.Rows.Count > 0 Then With Me.cblAcaoInterna .Font = New Font("arial", 10) For Row = 0 To Dt.Rows.Count .Items.Add(Dt.Rows(Row).Item(1).ToString, False) Next ChkAcaointerna() End With End If End Sub
Esse é o código que utilizo para este fim, mas depois do primeiro procedimento ser executado, os demais nem chegam a ser executado. WTF?
Respostas
-
Olá Selmo,
Não acontece nenhum erro interno dentro da execução do ChkAcaointerna() ? Coloca um try catch nessa sub para ver se esta acontecendo algum erro dentro de "ObterDados" por exemplo.
Os outros métodos funcionam se você comenta o primeiro?
O código, assim olhando, não parece ter erro.
- Marcado como Resposta Marcos SJ terça-feira, 19 de abril de 2016 14:34
- Não Marcado como Resposta Selmo Rodrigues quarta-feira, 20 de abril de 2016 19:03
- Marcado como Resposta Selmo Rodrigues quarta-feira, 20 de abril de 2016 19:03
Todas as Respostas
-
Olá Selmo,
Não acontece nenhum erro interno dentro da execução do ChkAcaointerna() ? Coloca um try catch nessa sub para ver se esta acontecendo algum erro dentro de "ObterDados" por exemplo.
Os outros métodos funcionam se você comenta o primeiro?
O código, assim olhando, não parece ter erro.
- Marcado como Resposta Marcos SJ terça-feira, 19 de abril de 2016 14:34
- Não Marcado como Resposta Selmo Rodrigues quarta-feira, 20 de abril de 2016 19:03
- Marcado como Resposta Selmo Rodrigues quarta-feira, 20 de abril de 2016 19:03
-
Fala sério que era algo tão simples, ainda pouco acostumado com a transição do VBA para o VB.NET que quase não uso o Try, o resultado é ficar quebrando a cabeça a toa, valeu pela ajuda. O problema era facil de se resolver, quando ele retornar a DataTable, eu utilizo a propriedades Rows para percorrer as linhas da tabela, só que o DataTable começa no index 0, e quando chegava no ultimo elemento ele já alcançou a ultima linha preenchida, era só acrescentar - 1 ou row = 1. Valeu pela ajuda \m/