Mostrar a descrição do perfil na coluna do GridView e não o codigo do perfil

16/09/2013

0

Olá, tenho um windowsform de cadastro de funcionários, quero que no gridView na coluna perfil mostre o nome do perfil e não o código do perfil
Esta informação vem da tabela “Perfil” no Banco de Dados que cadastro por outro windowsform “Cadastro dePerfil”, como fazer isto sem ser com combobox ?
Abaixo a imagem para facilitar o entendimento.

[url]http://uploaddeimagens.com.br/imagens/coluna_perfil_usuario-png[/url]
Jair Souza

Jair Souza

Responder

Posts

18/09/2013

Joel Rodrigues

Clique com a direita no grid. Depois clique em "Edit columns".
Selecione a coluna onde está o Id e na propriedade DataPropertyNAme, selecione essa nova coluna.
Responder

18/09/2013

Jair Souza

Fiz como disseste, mas no DataPropertyName não tem a opção que aparece no teste da Query, então criei um Select novo e no Execute Query fica perfeito, mas no Gridi NADA...
Olhei todas opções nas propriedades, as Collumns e nada de Luz....veja as imagens abaixo :

[url]http://uploaddeimagens.com.br/imagens/datapropertyname-png[/url]

[url]http://uploaddeimagens.com.br/imagens/novo_select-png[/url]

Agradeço pela paciência.
Responder

23/09/2013

Jair Souza

Bom dia, primeiro gostaria de agradecer, pois finalmente através das dicas consegui, mas agora está gerando um erro ao salvar sempre que há alteração de perfil no combobox da page1 "Cadastro", veja as imagens abaixo, se puderem me ajudar em mais esta etapa...

[url]http://uploaddeimagens.com.br/imagens/erro_ao_salvar-png[/url]

...já ia esquecendo tambem está aparecendo esta mensagem :

[url]http://uploaddeimagens.com.br/imagens/mensagem_warning-png[/url]
Responder

23/09/2013

Joel Rodrigues

Sobre a primeira mensagem, creio que junto do select também são geradas outras instruções SQL de delete e updat, certo? Verifique como elas estão.
Responder

23/09/2013

Jair Souza

...não sei certo onde ficariam estas instruções, se for junto do select que criei, não tem nada além do select desejado, veja as imagens :

[url]http://uploaddeimagens.com.br/imagens/select_erro_ao_salvar-png[/url]
Responder

24/09/2013

Joel Rodrigues

Cara, é que já faz um tempo que eu não uso esse método, mas veja se na tela onde você configura o Table Adapter não tem nunhum lugar onde ficam as instruções de Insert, Update e Delete. Se não achar, selecione o Table Adapter verifique a janela de propriedades.
Responder

25/09/2013

Jair Souza

Bom dia, acredito que não foi criado, veja na imagem as opções que selecionei ao criar este SELECT :

[url]http://uploaddeimagens.com.br/imagens/select_criado-png[/url]
Responder

27/09/2013

Jair Souza

Bom dia, acredito que não foi criado, veja na imagem as opções que selecionei ao criar este SELECT :

[url]http://uploaddeimagens.com.br/imagens/select_criado-png[/url]


Olá pessoal, alguém pode me dar um socorro aqui... ?
Não posso desistir parece faltar tão pouco...mas no momento estou sem rumo.
Responder

02/10/2013

Matheus Caldas

Bom dia, acredito que não foi criado, veja na imagem as opções que selecionei ao criar este SELECT :

[url]http://uploaddeimagens.com.br/imagens/select_criado-png[/url]


Olá pessoal, alguém pode me dar um socorro aqui... ?
Não posso desistir parece faltar tão pouco...mas no momento estou sem rumo.


Bom dia Iniciante,

Tem como vc postar um trecho do código onde vc faz a edição do funcionário?
Responder

02/10/2013

Joel Rodrigues

Descreva cada passo que você deu para criar esse TableAdapter para que eu possa reproduzir aqui.
Responder

02/10/2013

Jair Souza

No form tem o bindingnavigator nativo, eu acrescentei os botões alterar e cancelar e uso o salvar e adicionar nativo :

Botão alterar, habilita os textbox e o combobox para edição.
Botão cancelar, desabilita os textbox e o combobox para edição sem salvar.

Estas imagens abaixo mostram os passos que segui para criar, depois no grid editei o DataPropertyName
da column Perfil para “Descricao”, editei as propriedades no combobox e o erro que está dando:

Form :
[url]http://uploaddeimagens.com.br/imagens/form-png[/url]

Select criado :
[url]http://uploaddeimagens.com.br/imagens/select_criado-png--2[/url]

Alteração DataPropertyName da column "Perfil" :
[url]http://uploaddeimagens.com.br/imagens/alteracao_datapropertyname-png[/url]

Property Combo :
[url]http://uploaddeimagens.com.br/imagens/combo_config-png[/url]

Depois que criei este Select acontece os seguintes problemas :

*Se altero o tipo de perfil num cadastro já existente, ou seja altero a informação no combobox dá o erro
Column ‘IDFuncionario’ is constrained to be unique. Value ‘1’ is already present.
Coluna 'IDFuncionario' é restrito a ser único. Valor '1 'já está presente.

*Se salvo um cadastro novo preenchendo todos os campos e selecionando o tipo de perfil no combobox,
Ele salva no banco sem a informação de perfil e tambem não mostra o novo cadastro no form, se cadastrar sem selecionar perfil no combobox salva e carrega no form normalmente, mas indo no grid não mostra nenhum perfil na coluna perfil.

[url]http://uploaddeimagens.com.br/imagens/erro_ao_salvar-png--2[/url]

E este é código do botão salvar, na atualização do form usando o Fill original ou o Fill do select criado dá erros diferentes, mas com nenhum dá certo.
BtnSalvar_Click
            
            try
            {
                if (senhaTextBox.Text == ConfSenhatextbox.Text)
                {
                    this.Validate();
                    this.funcionarioBindingSource.EndEdit();
                    this.tableAdapterManager.UpdateAll(this.bDBiblioteca2DataSet);
                    MessageBox.Show("Registro Salvo com Sucesso !", "Salvar", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    
	         //Atualiza Form – Original.
		   this.funcionarioTableAdapter.Fill(this.bDBiblioteca2DataSet.Funcionario);
			OU			
		  //Atualiza Form – Select Criado.
                this.funcionarioTableAdapter.FillDescrPerfil(this.bDBiblioteca2DataSet.Funcionario);
                    
                    DesabilitaCampos();
                    this.tabControl1.TabPages.Add(this.tabPage2);
                }
                else
                {
                    MessageBox.Show("Senhas não são Iguais !", "Salvar", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    ConfSenhatextbox.ForeColor = Color.Red;
                    ConfSenhatextbox.Focus();
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("" + ex.Message, "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Error);

                //Atualiza Form – Original.
		   this.funcionarioTableAdapter.Fill(this.bDBiblioteca2DataSet.Funcionario);
			OU			
		  //Atualiza Form – Select Criado.
                this.funcionarioTableAdapter.FillDescrPerfil(this.bDBiblioteca2DataSet.Funcionario);

                this.tabControl1.TabPages.Add(this.tabPage2);
                DesabilitaCampos();
                
            } 
       }


Se precisar mais informações é só dizer.

Desde já agradeço.

Responder

06/10/2013

Jair Souza

Finalmente encontrei o erro, os parâmetros do Data Bound Items do ComboBox estavam errados, veja na imagem abaixo:

[url]http://uploaddeimagens.com.br/imagens/parametros_data_bound_items_-_combobox-png--2[/url]

...porém quando faço pesquisa por nome através do textbox no page2 onde fica o gridview o combobox do page1 fica em branco, o que ainda está errado ?

Para lembrar :

*Tem um SELECT para preencher com a descricçao do perfil e não com o ID :
SELECT        F.IDFuncionario, F.Nome, F.Login, F.Senha, F.Perfil, P.Descricao, F.Situacao
FROM            (Funcionario F INNER JOIN
                         Perfil P ON F.Perfil = P.IDPerfil)


**Para a pesquisa no textbox na page2 tem outro SELECT :
SELECT        F.IDFuncionario, F.Nome, F.Login, F.Senha, P.Descricao, F.Situacao
FROM            (Funcionario F INNER JOIN
                         Perfil P ON F.Perfil = P.IDPerfil)
WHERE        (F.Nome LIKE '%' + ? + '%')
Responder

07/10/2013

Jair Souza

Descreva cada passo que você deu para criar esse TableAdapter para que eu possa reproduzir aqui.


Finalmente encontrei o erro, os parâmetros do Data Bound Items do ComboBox estavam errados, veja na imagem abaixo:

[url]http://uploaddeimagens.com.br/imagens/parametros_data_bound_items_-_combobox-png--2[/url]

...porém quando faço pesquisa por nome através do textbox no page2 onde fica o gridview o combobox do page1 fica em branco, o que ainda está errado ?

Para lembrar :

*Tem um SELECT para preencher com a descricçao do perfil e não com o ID :
SELECT        F.IDFuncionario, F.Nome, F.Login, F.Senha, F.Perfil, P.Descricao, F.Situacao
FROM            (Funcionario F INNER JOIN
                         Perfil P ON F.Perfil = P.IDPerfil) 



**Para a pesquisa no textbox na page2 tem outro SELECT :
SELECT        F.IDFuncionario, F.Nome, F.Login, F.Senha, P.Descricao, F.Situacao
FROM            (Funcionario F INNER JOIN
                         Perfil P ON F.Perfil = P.IDPerfil)
WHERE        (F.Nome LIKE '%' + ? + '%')
Responder

07/10/2013

Joel Rodrigues

Creio que no Selected Value você deve selecionar o IDPerfil na tabela de funcionários e não a descrição (Perfil).
No caso, você tem que trazer as duas colunas (código e descrição no select.
Responder

08/10/2013

Jair Souza

Mas na tabela “Funcionario” não temos “IDPerfil”..., e se realmente é isto, devo inserir no BD ACCESS e como atualizar esta alteração no projeto do visual studio como faço para inserir “IDPerfil” na tabela “Funcionario” ?

Seria como na imagem abaixo, incluo o IdPerfil na tabela funcionario altero o relacionamento e elimino o campo Perfil ? no ACCESS barbada, mas no projeto como faço ?

É o meu primeiro projeto...hehehe

[url]http://uploaddeimagens.com.br/imagens/idperfil-png[/url]

Mais uma vez, obrigado pela paciência.
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar