Array
(
)

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

Jair Souza
   - 16 set 2013

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.
http://uploaddeimagens.com.br/imagens/coluna_perfil_usuario-png

Joel Rodrigues
   - 16 set 2013

No select, já traga a descrição do perfil utilizando um inner join. Por exemplo:
#Código

SELECT U.NOME, U.LOGIN, P.DESCRICAO
FROM USUARIOS U
INNER JOIN PERFIL P ON U.COD_PERFIL = P.CODIGO

Jair Souza
   - 16 set 2013

Como o meu nome já diz sou iniciante...você pode detalhar melhor como montar este código e onde o coloco ?

Joel Rodrigues
   - 16 set 2013

Bom, você vai ter de pesquisar sobre INNER JOIN.
E sobre onde colocar o select, é no mesmo canto onde está hoje a sua instrução de select que traz o código do perfil.
Se tiver dificuldade, descreva o processo que está usando para exibir os dados no grid.

Jair Souza
   - 17 set 2013

Para exibir os dados criei algumas tabelas no Access e arrastei para dentro do projeto no VB 2010, cfe. imagem abaixo.

http://uploaddeimagens.com.br/imagens/bd-png--3

Jair Souza
   - 17 set 2013

...seria por este caminho mostrado na imagem abaixo, se for...como devo montar o select ?

http://uploaddeimagens.com.br/imagens/query_select-png

Joel Rodrigues
   - 17 set 2013

Exatamente aí. Creio que ficaria assim:#Código

SELECT F.IDFuncionario, F.Nome, F.Login, F.Senha, P.Nome, F.Situacao,
FROM Funcionario F
INNER JOIN Perfil P ON F.Perfil = P.IDPerfil
WHERE (F.Nome LIKE '%' + ? + '%')

Jair Souza
   - 17 set 2013

Certo, mas estas linhas de código em que local da estrutura do código eu coloco é dentro de uma "private void..." ?
Pois a que mostrei na imagem é uma Query que depois de criada é chamada no código por FillBy...
To enrolado, não é fácil ser iniciante...

Joel Rodrigues
   - 17 set 2013

Como eu disse, é exatamente naquela tela que você vai usar esse código. Lá onde tem o select original, você vai substituir por esse que eu postei.
Mas desde já, indico que estude INNER JOIN para entender o que está sendo feito.

Jair Souza
   - 17 set 2013

Certo, depois de criar o select onde e como devo chamá-lo para que automaticamente preencha a coluna perfil com a descrição do perfil no GridView ?

http://uploaddeimagens.com.br/imagens/coluna_perfil_usuario-png

Joel Rodrigues
   - 17 set 2013

Vamos lá. Você já tem esse grid aí, certo? Você montou ele em algum momento e já exibe os dados nele normalmente.
O que muda agora é somente o select que você vai usar. Você vai apenas repetir o processo que já usa para exibir os dados nesse grid.

Jair Souza
   - 18 set 2013

Olá, pois bem fiz conforme sua orientação, mas ainda não funcionou veja comentários e imagens :

*Na Query, parece estar certo pois já mostra o nome e não mais o id do perfil :

http://uploaddeimagens.com.br/imagens/imagem_query-png

*Mas ao abrir o form e ir até a page2 que é onde está o grid mostra o id...

http://uploaddeimagens.com.br/imagens/grid-png

*E ao digitar no textbox para pesquisar fica tudo em branco na coluna perfil...

http://uploaddeimagens.com.br/imagens/textbox_de_pesquisa-png

...e agora parece faltar pouco...mas não sei o que.

Jair Souza
   - 18 set 2013

...mais uma coisa
*E ao digitar no textbox para pesquisar fica tudo em branco na coluna perfil...para esta pesquisa funcionar pelo textbox no evento textboxTextChanged é chamado a query This.....FillByNome..., que é a mesma query que já tínhamos e que alteramos.

Abaixo as imagens dos dois forms, cadastro de funcionarios e cadastro de perfil.

http://uploaddeimagens.com.br/imagens/forms-png--2

Aguardo ajuda e já agradeço pela paciência.

Joel Rodrigues
   - 18 set 2013

Você precisa redefinir as colunas do seu grid. Em algum momento você deve ter editado, mudado o caption, etc. Certo? Agora precisa refazer o processo, mas alterando a coluna Perfil para pegar esse novo campo.

Jair Souza
   - 18 set 2013

Eu não saberia refazê-lo...se eu deletá-lo do form e arrastar um novo será que resolve ?

Jair Souza
   - 18 set 2013

...Como assim alterar a coluna perfil para pegar o novo campo, alterar o que e onde ?

*Não esqueça sou Iniciante com I maiúsculo.

Joel Rodrigues
   - 18 set 2013

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.

Jair Souza
   - 18 set 2013

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 :

http://uploaddeimagens.com.br/imagens/datapropertyname-png

http://uploaddeimagens.com.br/imagens/novo_select-png

Agradeço pela paciência.

Jair Souza
   - 23 set 2013

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...

http://uploaddeimagens.com.br/imagens/erro_ao_salvar-png

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

http://uploaddeimagens.com.br/imagens/mensagem_warning-png

Joel Rodrigues
   - 23 set 2013

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.

Jair Souza
   - 23 set 2013

...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 :

http://uploaddeimagens.com.br/imagens/select_erro_ao_salvar-png