Usuário com melhor resposta
Exibição de menu filho após gerar GridView

Pergunta
-
Oi pessoal,
Estou desenvolvendo um projeto WebForms C# com várias telas acessíveis por um menu superior. Em algumas das telas são gerados gridview para exibição de dados vindo diretamente do banco. A questão é que toda vez que as grids são carregadas os menu filho não ficam visíveis, ficam com 'display: none' por padrão. Já procurei na net como resolver, mas não encontrei nada semelhante ao meu caso.
Alguém poderia me dar um norte por favor ??
- - - - - - - - Aline Fidelis web designer
Respostas
-
Encontrei uma solução:
Acrescentei uma chamada ajax antes do conteudo da página que utiliza a gridView.
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="asp" %>
Removi o UppdatePanel presente na página e coloquei o gridView dentro de um panel.
<asp:Panel runat="server" ID="panel"> <asp:GridView ID="grdBuscaPac" runat="server" AutoGenerateColumns="True" AllowPaging="True" DataSourceID="OdsBuscaPaciente" AllowSorting="True" ></asp:GridView> </asp:Panel>
Pronto! Resolvido a questão; :)
- - - - - - - - Aline Fidelis web designer
- Marcado como Resposta Aline Fidelis terça-feira, 20 de agosto de 2013 19:54
Todas as Respostas
-
Oi, o que exatamente vc quer fazer?
Post o código pra simplificar o entendimento.
Abraço.
- Editado Romy Moura segunda-feira, 19 de agosto de 2013 21:41
-
Oi Romy,
Gostaria de saber como remover a definição padrão de estilo do segundo nível do menu após o carregamento da gridview.
Aqui está a definição da grid.
<asp:ObjectDataSource runat="server" ID="OdsListarPaciente" TypeName="Projeto.Classes" SelectMethod="ListarPacientes"> <SelectParameters> <asp:ControlParameter ControlID="DdlOperadora" PropertyName="Text" Type="Int32" Name="codigoOperadora" /> <asp:ControlParameter ControlID="DdlPrograma" PropertyName="Text" Type="Int32" Name="codigoPrograma" /> <asp:ControlParameter ControlID="txtPac" PropertyName="Text" Type="String" Name="nomePaciente" /> </SelectParameters> </asp:ObjectDataSource> <asp:GridView ID="grdBuscaPac" runat="server" DataSourceID="OdsListarPaciente" AutoGenerateColumns="true" AllowPaging="True" AllowSorting="True"></asp:GridView>
Quando a tela é carregada o menu filho é interpretado assim pelo browser.
<li class="has-poup static" aria-haspopup="LoginView1_NavigationMenu:submenu:3" role="menuitem" style="; float: left;"> <a title="cadastro" class="popout level1 static" tabindex="-1">cadastro</a> <ul class="level2 dynamic" id="LoginView1_NavigationMenu:submenu:3" style="display: block; ; top: 100%; left: 0px;"> <li role="menuitem" class="dynamic" style=";"> <a title="cadastroPrograma" class="level2 dynamic" href="BuscaPrograma.aspx" tabindex="-1">Cadastro de Programa</a> </li> </ul> </li>
Quando a grid é carregada o browser interpreta o mesmo trecho acima assim:
<li class="has-poup static" aria-haspopup="LoginView1_NavigationMenu:submenu:3" role="menuitem" style="; float: left;"> <a title="cadastro" class="popout level1 static" tabindex="-1">cadastro</a> <ul class="level2 dynamic" id="LoginView1_NavigationMenu:submenu:3" style="display: none; ; top: 100%; left: 0px;"> <li role="menuitem" class="dynamic" style=";"> <a title="cadastroPrograma" class="level2 dynamic" href="BuscaPrograma.aspx" tabindex="-1">Cadastro de Programa</a> </li> </ul> </li>
Foi definido 'display: none' e não consigo fazer alteração.
O menu desse projeto é definido assim:
<asp:Menu ID="NavigationMenu" CssClass="menu" runat="server" EnableViewState="False" IncludeStyleBlock="False" Orientation="Horizontal" DataSourceID="SiteMapDataSource1" ondatabound="Menu1_DataBound" onmenuitemdatabound="Menu1_MenuItemDataBound"></asp:Menu>
Agradeço a atenção!
- - - - - - - - Aline Fidelis web designer
-
Encontrei uma solução:
Acrescentei uma chamada ajax antes do conteudo da página que utiliza a gridView.
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="asp" %>
Removi o UppdatePanel presente na página e coloquei o gridView dentro de um panel.
<asp:Panel runat="server" ID="panel"> <asp:GridView ID="grdBuscaPac" runat="server" AutoGenerateColumns="True" AllowPaging="True" DataSourceID="OdsBuscaPaciente" AllowSorting="True" ></asp:GridView> </asp:Panel>
Pronto! Resolvido a questão; :)
- - - - - - - - Aline Fidelis web designer
- Marcado como Resposta Aline Fidelis terça-feira, 20 de agosto de 2013 19:54