HI,
depois de ter criando uma gambiarra das brabas utilizando o bootpag e o ajax do asp.net, usando hiden field para guardar quantidade de registros, tamanho da paginação, usando viewstate, etc. Uma loucura, hehehe.
Hoje fui tentar melhorar o código usando o ajax do jquery chamando um WebMethod no code-behind da página aspx para manipular o gridview. Só que eu descobri que não dá para acessar o GridView em um método static. Teria que criar um gridview na mão ou retornar os dados em xml e pular o gridview no retorno do evento.
Depois que eu percebi que ia ser uma trabalheira daquelas, resolvi mais uma vez pesquisar como alterar a aparência da paginação do gridview, para ficar no padrão do bootstrap. Graças a Deus, consegui achar a solução.
Achei aqui
simple script to apply bootstrap pagination style in asp.net gridview
http://stackoverflow.com/questions/22420602/simple-script-to-apply-bootstrap-pagination-style-in-asp-net-gridview
Projeto
https://github.com/issamalidev/bs.pagination.js
Blog do autor
http://blog.issamsoft.com/index.php?q=en/node/73
Fiquem na Paz!!!
Mostrando postagens com marcador gridview. Mostrar todas as postagens
Mostrando postagens com marcador gridview. Mostrar todas as postagens
terça-feira, julho 15, 2014
segunda-feira, agosto 26, 2013
Mostrar um mapa do Google em um modal criado com Twitter Bootstrap
HI,
Decidi utilizar uma janela modal para exibir um mapa do google. O botão que aciona a janela modal fica em um GridView.
Vou colocar aqui os links que me ajudaram a criar esse recurso e o código que consegui montar.
ASP.NET: Display GridView Row Details in Modal Popup using Twitter Bootstrap
http://websitedevelopmentny.org/blog/wievblog.php?id=4673
Modals bootstrap-modal.js
http://getbootstrap.com/2.3.2/javascript.html#modals
Adding a Google Map to your website
https://developers.google.com/maps/tutorials/fundamentals/adding-a-google-map
Showing a Google Map in a modal created with Twitter Bootstrap
http://stackoverflow.com/questions/11742839/showing-a-google-map-in-a-modal-created-with-twitter-bootstrap
Meu Código
Decidi utilizar uma janela modal para exibir um mapa do google. O botão que aciona a janela modal fica em um GridView.
Vou colocar aqui os links que me ajudaram a criar esse recurso e o código que consegui montar.
ASP.NET: Display GridView Row Details in Modal Popup using Twitter Bootstrap
http://websitedevelopmentny.org/blog/wievblog.php?id=4673
Modals bootstrap-modal.js
http://getbootstrap.com/2.3.2/javascript.html#modals
Adding a Google Map to your website
https://developers.google.com/maps/tutorials/fundamentals/adding-a-google-map
Showing a Google Map in a modal created with Twitter Bootstrap
http://stackoverflow.com/questions/11742839/showing-a-google-map-in-a-modal-created-with-twitter-bootstrap
Meu Código
Fiquem na Paz!!!
quinta-feira, agosto 22, 2013
Utilizar variável de uma classe de sessão no parâmetro do GridView
HI,
Utilizar um sessão como parâmetro do GridView é moleza, o próprio asp.net cuida disso, de pegar o valor armazenado na session. Mas, e quando você implementa uma classe de sessão e precisa utilizar uma propriedade no parâmetro, como é que faz? Fiz essa pergunta ao google ontem.
Achei a resposta aqui:
Custom Parameters for 'SelectParameters' collection using Object Data Source
http://forums.asp.net/t/1209030.aspx/1
Create a parameter with its source set to none (in the designer)
< SelectParameters >
< asp:Parameter Name="userId" Type="Int32" />
</ SelectParameters >
and in the code you assing the values to the selectParameter with
ObjectDataSource1.SelectParameters["userId"].DefaultValue = SessionManager.StoredNameValue;
Fiquem na Paz!!!
Utilizar um sessão como parâmetro do GridView é moleza, o próprio asp.net cuida disso, de pegar o valor armazenado na session. Mas, e quando você implementa uma classe de sessão e precisa utilizar uma propriedade no parâmetro, como é que faz? Fiz essa pergunta ao google ontem.
Achei a resposta aqui:
Custom Parameters for 'SelectParameters' collection using Object Data Source
http://forums.asp.net/t/1209030.aspx/1
Create a parameter with its source set to none (in the designer)
< SelectParameters >
< asp:Parameter Name="userId" Type="Int32" />
</ SelectParameters >
and in the code you assing the values to the selectParameter with
ObjectDataSource1.SelectParameters["userId"].DefaultValue = SessionManager.StoredNameValue;
Fiquem na Paz!!!
sexta-feira, junho 07, 2013
Desabilitar a opção de Selecionar do GridView de acordo com uma condição no Asp.Net
HI,
Eu poderia ter tratado a ação ao selecionar a linha do gridview e verificar se teria permissão pra ação, mas isso acarreta uma chamada ao servidor. Então procurei uma maneira de desabilitar a opção de selecionar do gridview caso o usuário não tivesse permissão de realizar a ação.
Exemplo
protected void gdvTurmas_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
string status = ((DataRowView)e.Row.DataItem)["STATUS"].ToString();
if (status == "T")
{
e.Row.Cells[e.Row.RowIndex].Enabled = false;
}
}
}
Resultado
Achei aqui
How to disable a control in command field control in gridview
http://stackoverflow.com/a/7188143
Fiquem na Paz!!!
Eu poderia ter tratado a ação ao selecionar a linha do gridview e verificar se teria permissão pra ação, mas isso acarreta uma chamada ao servidor. Então procurei uma maneira de desabilitar a opção de selecionar do gridview caso o usuário não tivesse permissão de realizar a ação.
Exemplo
protected void gdvTurmas_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
string status = ((DataRowView)e.Row.DataItem)["STATUS"].ToString();
if (status == "T")
{
e.Row.Cells[e.Row.RowIndex].Enabled = false;
}
}
}
Resultado
Achei aqui
How to disable a control in command field control in gridview
http://stackoverflow.com/a/7188143
Fiquem na Paz!!!
Marcadores:
asp.net,
comando,
desabilitar,
gridview,
select
quinta-feira, setembro 20, 2012
Selecionar a linha do GridView ao clicar no Asp.Net
HI,
Antes eu usava o recurso padrão do GridView, o de habilitá-lo para ser selecionável. Com essa opção ativa é exibido um comando para selecionar a linha. Mas dessa vez eu queria selecionar a linha do grid ao clicar nela, sem precisar desse recurso ativo.
Achei essa solução
Select a row in an asp:GridView without using a Select Command
http://www.geekzilla.co.uk/View9FC28EE6-ACB0-4F51-BFE4-38B0B10134D5.htm
Tranquilo. Estava indo tudo muito bem até eu resolver adicionar duas colunas, uma para editar e outra para excluir o registro. Ao tentar selecionar uma linha pela segunda vez dava um erro de _doPostBack não definido.
Pois bem, depois de um certo tempo procurando, madrugada, já tava pensando em voltar ao modo tradicional de selecionar a linha. Mas graças a Deus consegui achar uma solução.
Select GridView Row Without Postback OnClick Of Cell JavaScript
http://csharpdotnetfreak.blogspot.com/2012/08/select-gridview-row-onclick-of-cell-javascript.html
Agora tá tudo beleza. Esse é o meu grid.
Antes eu usava o recurso padrão do GridView, o de habilitá-lo para ser selecionável. Com essa opção ativa é exibido um comando para selecionar a linha. Mas dessa vez eu queria selecionar a linha do grid ao clicar nela, sem precisar desse recurso ativo.
Achei essa solução
Select a row in an asp:GridView without using a Select Command
http://www.geekzilla.co.uk/View9FC28EE6-ACB0-4F51-BFE4-38B0B10134D5.htm
Tranquilo. Estava indo tudo muito bem até eu resolver adicionar duas colunas, uma para editar e outra para excluir o registro. Ao tentar selecionar uma linha pela segunda vez dava um erro de _doPostBack não definido.
Pois bem, depois de um certo tempo procurando, madrugada, já tava pensando em voltar ao modo tradicional de selecionar a linha. Mas graças a Deus consegui achar uma solução.
Select GridView Row Without Postback OnClick Of Cell JavaScript
http://csharpdotnetfreak.blogspot.com/2012/08/select-gridview-row-onclick-of-cell-javascript.html
Agora tá tudo beleza. Esse é o meu grid.
Lembrem-se: O segredo é a palavra chave.
Fiquem na Paz!!!
Marcadores:
asp.net,
click,
dopostback,
erro,
gridview,
onclick,
problema,
selecionar
terça-feira, setembro 04, 2012
Obter o valor de um campo no RowCommand do GridView
HI,
Se tiver outra maneira eu desconheço.
Obter o valor de um campo da query no RowDataBound é tranquilo, mas eu precisei de valores que não aparecem no gridview quando uma linha é selecionada.
No GridView faço assim:
string cod_associado = ((DataRowView)e.Row.DataItem)["COD_ASSOCIADO"].ToString();
Vi que existe a propriedade DataKeyNames no gridview e fui pesquisar no google como utilizá-lo.
Achei essa páginas
ASP .NET - Manutenção de dados com GridView e Ajax
http://www.macoratti.net/11/09/aspn_gdvm.htm
GridViewCommandEventArgs
http://forums.asp.net/t/1033685.aspx
Get DataKey values in GridView RowCommand
http://stackoverflow.com/questions/2818203/get-datakey-values-in-gridview-rowcommand
Consegui montar esse código
protected void gdvTurmas_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName == "Select")
{
GridViewRow row = gdvTurmas.Rows[Convert.ToInt32(e.CommandArgument)];
string cod_associado = gdvTurmas.DataKeys[row.RowIndex].Values[0].ToString();
Session["CODASSOC"] = cod_associado;
}
}
Se for pra pegar um valor que tá visível no grid, no evento RowCommand, é assim:
row.Cells[4].Text
Fiquem na Paz!!!
Se tiver outra maneira eu desconheço.
Obter o valor de um campo da query no RowDataBound é tranquilo, mas eu precisei de valores que não aparecem no gridview quando uma linha é selecionada.
No GridView faço assim:
string cod_associado = ((DataRowView)e.Row.DataItem)["COD_ASSOCIADO"].ToString();
Vi que existe a propriedade DataKeyNames no gridview e fui pesquisar no google como utilizá-lo.
Achei essa páginas
ASP .NET - Manutenção de dados com GridView e Ajax
http://www.macoratti.net/11/09/aspn_gdvm.htm
GridViewCommandEventArgs
http://forums.asp.net/t/1033685.aspx
Get DataKey values in GridView RowCommand
http://stackoverflow.com/questions/2818203/get-datakey-values-in-gridview-rowcommand
Consegui montar esse código
protected void gdvTurmas_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName == "Select")
{
GridViewRow row = gdvTurmas.Rows[Convert.ToInt32(e.CommandArgument)];
string cod_associado = gdvTurmas.DataKeys[row.RowIndex].Values[0].ToString();
Session["CODASSOC"] = cod_associado;
}
}
Se for pra pegar um valor que tá visível no grid, no evento RowCommand, é assim:
row.Cells[4].Text
Fiquem na Paz!!!
sexta-feira, junho 10, 2011
Trabalhando com o ModalPopup do Ajax Asp.Net
HI,
Não pretendo nesse post ensinar a implementar um dialogo modal no asp.net. Vou colocar aqui todo o material que me ajudou a deixar o meu dialogo funcional, do jeito que eu queria.
Minha necessidade: Uma tela de pequisa, que jogasse a descrição do item desejado em um textbox da página. Usei o ModalPopupExtender e no panel coloquei um textbox para o usuário digitar o termo, um botão para acionar a pesquisa, um gridview para listar o resultado e um botão para fechar o dialogo.
Problemas que encontrei: Ao clicar no botão de Pesquisar, a dialogo fechava. Na paginação, dava erro ao tentar ir para outra página no gridview. Ao entrar novamente no dialogo, os resultados da pesquisa ainda estavam no gridview.
Sites que usei para elaborar meu dialogo modal de pesquisa.
Para implementar o dialogo:
ModalPopup Demonstration
Working with ModalPopup Ajax Control
Using the ASP.NET AJAX ModalPopup in an ASP.NET 3.5 application
Evitando que a tela se feche:
Por exemplo, no botão de Pesquisar, coloquei esse código para evitar que a tela desaparecesse
MyModalPopoupExtender.Show()
Para resolver o problema do pageindexchanging:
analisem esse código
protected void StudentLookupGridView_PageIndexChanging(object sender,GridViewPageEventArgs e)
{
// Recapture the current StudentCollection.
StudentLookupGridView.DataSource =
(StudentCollection)Session["LookupStudentCollection"];
// Set to the “new page”.
StudentLookupGridView.PageIndex = e.NewPageIndex;
// Rebind the data.
StudentLookupGridView.DataBind();
}
outro link, ModalPopupExtender and GridView paging problem
Para limpar o resultado da pesquisa:
GridView1.DataSource = null;
GridView1.DataBind();
Para resetar o SelectedIndex e o PageIndex:
GridView1.SelectedIndex = -1;
GridView1.PageIndex = 0;
Usei a opção AutoGenerateSelectButton do gridview para o usuário clicar e indicar o item que ele deseja escolher. Caso não se faça isso, em uma nova busca vai mostrar selecionado no gridview um item qualquer da mesma posiçao do item seleiconado anteriomente. E também vai indicar no contador de paginação a última página clicada.
Coloquei esses códigos no botão de pesquisar, depois de setar o datasource com o resultado da pesquisa.
Definindo o focus de um componente ao abrir o modal dialog
Usei essa solução. Funcionou perfeitamente.
ASP.NET: Setting Focus in Modal Dialogs
Executando a pesquisa ao pressionar ENTER
Definindo a propriedade DefaultButton do panel, funciona. Mas eu quis utilizar o ENTER também para confirmar a linha selecionada, caso o usuário quisesse usar o TAB para navegar pelas linhas do gridview.
Usei uma função no TextBox da pesquisa, para acionar um cliquei no portão de Pesquisa
Achei aqui
Pronto!!!! Foi tudo que achei em dois dias de trabalho para criar a minha tela de pesquisa. Graças a Deus, tá tudo blz. Agora vou trabalhar no layout.
Ficou assim:
Espero que possa ajudar
Fiquem na Paz!!!!
Assinar:
Postagens (Atom)




