Usuário com melhor resposta
Gridview responsivo

Pergunta
-
Boa tarde, estou fazendo um gridview responsivo, ficou ótimo quando carrego a página pela primeira vez, o problema é quando eu recarrego somente o Gridview, ele não fica responsivo
Eis o meu código
Jquery
<script type="text/javascript"> $(function () { $('[id*=GridView1]').footable(); }); </script>
Metodo para carregar o Gridview
private void CarregarGridView() { int currentPage = GridView1.PageIndex + 1; hfPesquisaraux.Value = ""; //Preenche a Session Session["SessionListar"] = objCadastroDAO.Listar(listarRegistrosAtivos); //Bind the GridView control to the data source. GridView1.DataSource = Session["SessionListar"]; GridView1.DataBind(); lblPaginaAtual.Text = "Página " + currentPage.ToString() + " de " + GridView1.PageCount.ToString(); GridView1.DataBind(); //Attribute to show the Plus Minus Button. GridView1.HeaderRow.Cells[0].Attributes["data-class"] = "expand"; //Attribute to hide column in Phone. GridView1.HeaderRow.Cells[3].Attributes["data-hide"] = "phone"; GridView1.HeaderRow.Cells[4].Attributes["data-hide"] = "phone"; GridView1.HeaderRow.Cells[5].Attributes["data-hide"] = "phone"; GridView1.HeaderRow.Cells[6].Attributes["data-hide"] = "phone"; //Adds THEAD and TBODY to GridView. GridView1.HeaderRow.TableSection = TableRowSection.TableHeader; QuantidadeRegistros(quantidadeRegistros_sql); //Se Gridview for vazio... GridViewVazio(); }
E quando a página é carregada pela primeira vez
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { CarregarGridView(); } }
Funciona de boa assim,
Mas quando clico em listar novamente o grid, fica assim
Ou seja, não fica mais responsivo, alguém pode dar uma ajuda?
*VS 2013, WEB FORMS
Se for para responder "procure no google", nem perca seu tempo ! :)
Respostas
-
Juliano Nunes, obrigado por responder
Sim, o botão Listar chama o método CarregarGridView(). Sim meu Grid esta em um UPDATEPANEL
protected void btnListar_ServerClick(object sender, EventArgs e) { try { CarregarGridView(); } catch (Exception erro) { lblErro.Visible = true; lblErro.Text = "Não foi possível executar essa operação! "; } }
Se for para responder "procure no google", nem perca seu tempo ! :)
- Marcado como Resposta gelson_ventura quinta-feira, 22 de fevereiro de 2018 21:53
Todas as Respostas
-
O botão listar executa uma ação no servidor ou usa uma chamada assíncrona (JavaScript)? Seu grid está em UpdatePanel?
Juliano Nunes - http://linkedin.com/in/julianonunes
Lembre-se de clicar em "Votar como útil" e "Marcar como Resposta" caso tenha respondido sua dúvida.
Remember to "Vote as Helpful" and "Mark as Answer" if your question has been answered.
-
Juliano Nunes, obrigado por responder
Sim, o botão Listar chama o método CarregarGridView(). Sim meu Grid esta em um UPDATEPANEL
protected void btnListar_ServerClick(object sender, EventArgs e) { try { CarregarGridView(); } catch (Exception erro) { lblErro.Visible = true; lblErro.Text = "Não foi possível executar essa operação! "; } }
Se for para responder "procure no google", nem perca seu tempo ! :)
- Marcado como Resposta gelson_ventura quinta-feira, 22 de fevereiro de 2018 21:53
-
Tente da seguinte forma:
Sys.WebForms.PageRequestManager.getInstance().add_endRequest(init); function init() { $('[id*=GridView1]').footable(); }
Juliano Nunes - http://linkedin.com/in/julianonunes
Lembre-se de clicar em "Votar como útil" e "Marcar como Resposta" caso tenha respondido sua dúvida.
Remember to "Vote as Helpful" and "Mark as Answer" if your question has been answered.
- Marcado como Resposta Filipe B CastroModerator sexta-feira, 23 de fevereiro de 2018 16:33
- Não Marcado como Resposta Filipe B CastroModerator sexta-feira, 23 de fevereiro de 2018 16:33
-
-
Amigo obrigado, meu fraco era JS mesmo, depois que você mudou a função em JS, eu só precisei chama-la via RegisterStartupScript no botão Listar, ficando o backend dessa maneira
protected void btnListar_ServerClick(object sender, EventArgs e) { try { CarregarGridView(); //Chama a função GridView Responsivo ScriptManager.RegisterStartupScript(this, this.GetType(), "LaunchServerSide", "$(function() { init(); });", true); } catch (Exception erro) { lblErro.Visible = true; lblErro.Text = "Não foi possível executar essa operação! "; } }
E o no html apenas coloquei a função que você escreveu
<script type="text/javascript"> //chama a função para Grid ficar Responsivo function init() { $('[id*=GridView1]').footable(); } //Ao carregar a página chama a função para Grid ficar Responsivo $(function () { $('[id*=GridView1]').footable(); }); </script>
Se for para responder "procure no google", nem perca seu tempo ! :)
- Editado gelson_ventura quinta-feira, 22 de fevereiro de 2018 22:01