Inquiridor
Como criar esse relatório - ReportViewer

Pergunta
-
Bom dia a todos.
Pessoal, estou tentando criar um relatório que fique da seguinte forma:
Porém, não estou conseguindo fazer. Os dados puxam correto, mas não consigo exibir o nome do colaborador apenas uma vez e todos os cargos dele abaixo, e fazer assim com todos.
Do jeito que consegui, ele mostra todos os dados, mas pra cada linha, ele mostra o nome do colaborador.
Consegui de outro jeito que ficou errado também, que assim: Ele mostra o nome do primeiro colaborador e depois mostra todos os dados, sem mostrar o nome do restante.
-----
Criei uma view para capturar todos os dados e fazer o select. Vejam abaixo meu código:
private void btGerar_Click(object sender, EventArgs e) { reportViewer1.SetDisplayMode(DisplayMode.PrintLayout); reportViewer1.ZoomMode = ZoomMode.PageWidth; var FillProjeto = (from b in ef.historico where b.projetos.projeto == cbSelect.Text orderby b.tb_colaborador.nome select new { Colaborador = b.tb_colaborador.nome, Cargo = b.nomes_cargos.nome, Projeto = b.projetos.projeto, Início = b.inicio, Término = b.termino }).ToList(); var FillColaborador = (from b in ef.historico where b.tb_colaborador.nome == cbSelect.Text orderby b.tb_colaborador.nome select new { Colaborador = b.tb_colaborador.nome, Cargo = b.nomes_cargos.nome, Projeto = b.projetos.projeto, Início = b.inicio, Término = b.termino }).ToList(); var FillAll = (from b in ef.historico orderby b.tb_colaborador.nome select new { Colaborador = b.tb_colaborador.nome, Cargo = b.nomes_cargos.nome, Projeto = b.projetos.projeto, Início = b.inicio, Término = b.termino }).ToList(); if (cbTipo.Text == "Projeto") { hISTOBindingSource.DataSource = FillProjeto; } else if (cbTipo.Text == "Colaborador") { hISTOBindingSource.DataSource = FillColaborador; } else if (cbTipo.Text == "Todos") { hISTOBindingSource.DataSource = FillAll; } else return; reportViewer1.ProcessingMode = Microsoft.Reporting.WinForms.ProcessingMode.Local; reportViewer1.RefreshReport(); }
Espero que possam me ajudar. Muito obrigado, desde já.
Todas as Respostas
-
Cara, não entendi porque você fez 3 queries? rs
Eu faria o seguinte, uma única query que possui todas as informações, ex:
colaborador | cargo | projeto | data | etc...
No seu design, eu criaria uma table e falaria para agrupar por colaborador!
Acho que isso já resolva, ou seja um caminho!
Abs
-
Você conseguiu fazer?
Preciso fazer isso também... é com colaboradores, cargos, mas preciso agora de puxar da tabela exames médicos, para mostrar quais exames eles tem que fazer.
Como o ReportView não aceita dois data set, estava pensando em fazer igual voce fez ai.
Voce conseguiu?
Aguardo.
-------------------- Leonardo Nascimento Cintra