Array
(
)

Radio + comboBox preenchido condicionalmente em formulario de varias instancias

Celio Cantalice
   - 07 dez 2011

Olá pessoal, depois de muito tentar queimando meu neurônios resolvi pedir ajuda. Meu problema é o seguinte: tenho um form que precisa (de acordo com a necessidade do cliente) ser aberto uma ou mais vezes(para envio de arquivos - Programa para grafica) até ai tudo bem:
#Código

codigo que utilizo para abrir varias instancias do form 

dim novoF as new envia() 
envia.mdiParent = me 
envia.show() 

o prolema é que nesse form tem dois combo que recuperam dados do BD (em MYSQL, via dataset criado via programação) de acordo com a escolha (atraves de 3 radios) dos materias que ele deseja para o arquivo que vai enviar. quando retiro o codigo que gera um novo form a cada click tudo funciona blz, mas quando trabalho com varias instancias o form abre e tudo más a camada de dados não é exposta no combos.
Alguém ai poderia me dar uma luz de como devo proceder?
Só para esclarecer: Ao usuario clicar no radio que contem a opção desejada este chama uma função em uma class que preenche o dataset e retorna os valores para o combo com with como abaixo:
#Código
chama a função

 Private Sub rdoGF_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles rdoGF.CheckedChanged 
id_tipo = 4
tipo = rdoGF.Text
lsq.getMaterial(id_tipo)

End Sub

---------------------------------------

função na class Shared Function getMaterial(ByVal id_tipo As String) As String

Dim strSql As String = select material, id_material from substratos WHERE id_tipo= + id_tipo + GROUP BY material

Dim cn As New MySqlConnection

Dim ds As New DataSet cn.ConnectionString = linha

Try 

cn.Open() 

Catch ex As MySqlException

MsgBox(Erro ao conectar com o servidor!, Verifique sua conexao com a internet)

End Try

Dim ad As New MySqlDataAdapter(strSql, cn)

ad.Fill(ds, substratos)

Dim dv = New DataView(ds.Tables(substratos))

With envia.cboSubs

.DataSource = ds.Tables(substratos)

.DisplayMember = material

.ValueMember = id_material

End With

cn.Close() 

cn.Dispose()

Return True

End Function

se alguém puder dar uma luz ai agradeço. Desculpem a carta. Era pra ficar mais explicado. vlw#Código
#Código
[tagcod]