Usuário com melhor resposta
Pegar dados de outro form

Pergunta
-
Boa tarde programadores!
estou tentando pegar dados de um form e passar para outro
ex: criei um form para cadastrar funcionários e outro form de serviço.
queria fazer uma Combobox no form serviço onde carregaria o nome dos funcionários já cadastrado.
Respostas
-
OK carapina, não foi isso que o Eugenio quis dizer, e é minha pergunta também.
Esqueça o FORM por enquanto. O DGV carrega os dados de onde? Um banco de dados? Um arquivo? Aonde?
Porque se você for listar os funcionários em uma combobox no form de serviços, então você tem que fazer uma query (se for um banco de dados) para selecionar os funcionários, tipo
/* Tabela de Funcionários TABLE: employees COLUMNS: id (matrícula e PK) name (nome completo) resignation (data de demissão, se não demitido, NULL */ SELECT id, name FROM employees WHERE NOT resignation IS NULL /* Seleciona apenas os funcionários NÃO demitidos */
Apenas um exemplo. Ai então você carrega essa query em um DATASET e define ele como DataSource da combobox, e chama o método DataBind() para carregar.
Friend Function ExecuteQueryOnAdapter(ByRef Conn As System.Data.SqlClient.SqlConnection, ByRef Query As String) As System.Data.DataSet Dim command As System.Data.SqlClient.SqlCommand = Conn.CreateCommand() command.CommandText = Query Dim adapter As System.Data.SqlClient.SqlDataAdapter = New System.Data.SqlClient.SqlDataAdapter(command) Dim datas As New System.Data.DataSet Try adapter.Fill(datas) adapter.Dispose() Catch adapter.Dispose() datas = Nothing End Try Return datas End Function
Use esta função para fazer a query e gerar um DataSet (usa uma SqlConnection já pronto e aberto).
- Sugerido como Resposta SammuelMiranda terça-feira, 17 de junho de 2014 11:30
- Marcado como Resposta Ricardo Barbosa Cortes quarta-feira, 18 de junho de 2014 11:08
-
Agora, apenas para fins de responder a sua pergunta: como transferir informações entre Foms.
Bem, deixe como PUBLIC a declaração dos componentes que você quer acessar. Assim você pode chamar a instância do Form em outro form e acessar o componente (ou ao invés de Public, Friend - para você só acessar dentro do mesmo projeto).
- Marcado como Resposta Ricardo Barbosa Cortes quarta-feira, 18 de junho de 2014 11:08
Todas as Respostas
-
Boa noite,
onde ficarão gravados esses funcionários pra poder recuperá-los?
- Editado Eugenio Junior quinta-feira, 12 de junho de 2014 00:39
- Sugerido como Resposta Ricardo Barbosa Cortes quinta-feira, 12 de junho de 2014 14:09
- Não Sugerido como Resposta Ricardo Barbosa Cortes sexta-feira, 13 de junho de 2014 13:16
-
-
OK carapina, não foi isso que o Eugenio quis dizer, e é minha pergunta também.
Esqueça o FORM por enquanto. O DGV carrega os dados de onde? Um banco de dados? Um arquivo? Aonde?
Porque se você for listar os funcionários em uma combobox no form de serviços, então você tem que fazer uma query (se for um banco de dados) para selecionar os funcionários, tipo
/* Tabela de Funcionários TABLE: employees COLUMNS: id (matrícula e PK) name (nome completo) resignation (data de demissão, se não demitido, NULL */ SELECT id, name FROM employees WHERE NOT resignation IS NULL /* Seleciona apenas os funcionários NÃO demitidos */
Apenas um exemplo. Ai então você carrega essa query em um DATASET e define ele como DataSource da combobox, e chama o método DataBind() para carregar.
Friend Function ExecuteQueryOnAdapter(ByRef Conn As System.Data.SqlClient.SqlConnection, ByRef Query As String) As System.Data.DataSet Dim command As System.Data.SqlClient.SqlCommand = Conn.CreateCommand() command.CommandText = Query Dim adapter As System.Data.SqlClient.SqlDataAdapter = New System.Data.SqlClient.SqlDataAdapter(command) Dim datas As New System.Data.DataSet Try adapter.Fill(datas) adapter.Dispose() Catch adapter.Dispose() datas = Nothing End Try Return datas End Function
Use esta função para fazer a query e gerar um DataSet (usa uma SqlConnection já pronto e aberto).
- Sugerido como Resposta SammuelMiranda terça-feira, 17 de junho de 2014 11:30
- Marcado como Resposta Ricardo Barbosa Cortes quarta-feira, 18 de junho de 2014 11:08
-
Agora, apenas para fins de responder a sua pergunta: como transferir informações entre Foms.
Bem, deixe como PUBLIC a declaração dos componentes que você quer acessar. Assim você pode chamar a instância do Form em outro form e acessar o componente (ou ao invés de Public, Friend - para você só acessar dentro do mesmo projeto).
- Marcado como Resposta Ricardo Barbosa Cortes quarta-feira, 18 de junho de 2014 11:08
-
-
Então a função que escrevi deve resolver.
Se o seu banco de dados for o SqlServer (Express, R2 ou qualquer outra versão). Se for outro banco de dados, o raciocínio é o mesmo, mas você vai precisar das DLLs para conectar com o banco.
Veja o MySql por exemplo. Basta baixar o DotNet Connector na página do MySql, e adiconar as DLLs como referência no seu projeto (copiando ao compilar para que rode no seu cliente) e trocar as classes para as que estão na biblioteca. Todas as classes se portam da mesma forma, só mudam o nome, ao invés de SqlConnection é MySqlConnection, o mesmo para o SqlCommand (MySqlCommand) e assim por diante - o restante não mudará.