Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

t3ll3s

Filtrar categorias e subcategorias GRIDVIEW

Mensagens Recomendadas

t3ll3s

Olá senhores (as) ;

Sou novato em programar e estou com uma dificuldade em ASP.NET ( C# ) que me persegue, possuo uma base de dados (MYSQL) com uma tabela de AREAS e uma de SETORES que necessito fazer consultas e exibir os valores em GRIDVIEWS da seguinte forma.

Pagina de ÁREAS exibe a descrição de todas as áreas da empresa com um link ou botão para redirecionar a página SETORES.

Página SETORES, essa FILTRA no banco todos os setores dessa ÁREA e os exibe em um GRIDVIEW, através de um link ou botão redireciona para uma pagina de detalhes que fala sobre esse setor.

Alguém entre os colegas possui uma solução para que eu possa utilizar?

Grato;

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Davi Sirilo

Boa tarde t3ll3s

O fato do que você está querendop envolve alguns passos antes do gridview final, o que eu quero dizer é como está a sua modelagem de banco de dados , sua tabela de Areas tem um chave primária e está está sendo referenciada em uma chave estrangeira na tabela setores ? Se sim basta fazer um SELECT com INNER JOIN de preferencia com procedures ex :

DELIMITER $$

CREATE PRC_LIST_SETORES
(
PIdArea INT
)
BEGIN

SELECT S.IdSetor , S.NomeSetor FROM Setor S INNER JOIN Areas A ON ( S.IdArea = A.IdArea)
WHERE S.IdArea = PIdArea;


END $$

Feito isso na sua programação .Net seja Via ADO.Net ou EntittyFramework basta chamar o metodo que terá a procedure pronta e essa chamada poderá ser feito pelo detalhe do seu Grid De areas através do comando

RowCommand usando a tag <asp:CommandField />

Nesse evento você pega o nome do comando em <asp:CommandField Command="Detalhe" ButtonType="Link" HeaderText="Detalhe" />

No evento ficará algo assim :

private grid_RowCommand(object Sender,  EventArgs e)
{

try
{
 if(e.CommandName=="Detalhe")
 {

 Response.Redirect("paginaparaoutrogri.aspx?IdArea=1",false);

}

}
catch(Exepction e)
{

ScriptManager.RegisterClienteScriptBlock(this,this.GetType(),new Guid().ToString()," alert('"+ ex.Message +"'); ",true);
}

}

Bom o que está acima é só um exemplo do outro lado na página de gridSetores você pode pegar o valor da área via QueryString ou Session coloca-lo no metodo que chamará a procedure .

Espero ter ajudado.

Editado por apocsantos
geshi

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.