Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Gutoffline

Busca com paginação

Recommended Posts

Bom dia Galera, sou leitor do forum mais esste é meu primeiro post, também sou novo na área do C# , to precisando de uma ajuda aqui de vocês, estou com o seguinte problema:

Peguei uma página já pronta, por isso não posso mudar muita coisas(acrescentar componentes) e preciso fazer nela paginação e um campo para busca, e quando efetuar a busca, o resultado seja paginado.

A paginação sozinha ta funcionando legal, a busca também funciona, porém quando efetuo a busca a paginação funciona teoriacamente, pois quando eu clico pra ir pra próxima página dos resultados das buscas não da certo, não está dando erro mas também ele não mostra os próximos registros.

Segue o código:

 

<script language="C#" runat="server">
	int varPagIndex = 0, varAux = 0, varNPag;
	string varBusca = "", varBusca2 = "";
	public void Page_Load( Object sender, EventArgs e )
	{
		if( Request.QueryString["i_pag"] == null)
		{
		  varPagIndex =  0;
		}else{
		  varPagIndex = int.Parse(Request.QueryString["i_pag"]);
		}
		varNPag = varPagIndex;
		lblLista.Text = populaListaReleases();
	}
	
	public string populaListaReleases()
	{
		string SQL = "", saida = "", data = "";
		varPagIndex = varPagIndex * 10;
		varBusca = Request.QueryString["txtBusca"];
		if(varBusca == "")
		{
			SQL = "SELECT TOP 10 *  FROM imprensa_banco WHERE (id NOT IN (SELECT TOP " + varPagIndex +  "  id FROM imprensa_banco order by id desc)) ORDER BY ID DESC; SELECT count(*) as contagem FROM imprensa_banco ";
		}
		else
		{
			SQL = "SELECT TOP 10 *  FROM imprensa_banco WHERE (id NOT IN (SELECT TOP " + varPagIndex +  "  id FROM imprensa_banco order by id desc)) and titulo LIKE '%" + varBusca + "%' ORDER BY ID DESC; SELECT count(*) as contagem FROM imprensa_banco where titulo LIKE '%" + varBusca + "%' ";
			varBusca2 = "&txtBusca=" + varBusca;
		}
		OleDbCommand Cmd = new OleDbCommand( SQL, Conn );
		Conn.Open();
		OleDbDataReader r = Cmd.ExecuteReader();
						
		saida += "<ul>";
		while ( r.Read() )
		{
			if ( data != DateTime.Parse( r["data"].ToString() ).ToString("dd/MM/yyyy") ) saida += "<p class='data'>" + DateTime.Parse( r["data"].ToString() ).ToString("dd/MM/yyyy") + "</p>";
			saida += "<li>" + DateTime.Parse( r["data"].ToString() ).ToString("hh:mm") + " - ";
			if( r["foto_arquivo"].ToString().Trim() != "" ) saida += "<img src=\"http://www.puc-campinas.edu.br/img/icone_multi_foto.gif\" /> ";
			saida += "<a href=\"release2.aspx?id=" + r["id"].ToString() + "\">" + r["titulo"].ToString() + "</a></li>";
			data = DateTime.Parse( r["data"].ToString() ).ToString("dd/MM/yyyy");
		}
		saida += "</ul>";
		r.NextResult();
		int varContagem = r.GetOrdinal("contagem");
		r.Read();
		double varQtdPaginas =  (r.GetInt32(varContagem));
		Response.Write( varQtdPaginas);
		varAux = Convert.ToInt32(Math.Ceiling(varQtdPaginas/10));
		r.Close();
		Conn.Close();
		return saida;
	}
	
</script>

<form action="index2.aspx?i_pag=<%Response.Write(varNPag);%>" name="form1" method="get">
<input type="text" name="txtBusca" class="fonte_padrao_form" value=<%if(varBusca!=null){ Response.Write(varBusca);}%>>
 <input type="submit" name="submit" value="Pesquisar" class="fonte_padrao">
</form>

<div id="lista">
<asp:label ID="lblLista" runat="server" />
</div>
</div>
<%

if(varNPag != 0)
	{
%>
	<a href="index2.aspx?i_pag=<%Response.Write(varNPag-1);%>&txtBusca=<%Response.Write(varBusca);%>"> Anterior </a> |
<%
 }else{
%>
	Anterior |
<%
 }
for(int i = 0 ; i < varAux ; i++)
{
  if ( varNPag == i)
	{
%>
<font color="#ff0000"><%Response.Write(i+1);%></font> |
<%
 }else{
%>
	<a href="index2.aspx?i_pag=<%Response.Write(i);%>&txtBusca=<%Response.Write(varBusca);%>"><%Response.Write(i+1);%></a> |
<%
 }
}
if(varNPag != varAux)
	{
%>
	<a href="index2.aspx?i_pag=<%Response.Write(varNPag+1);%>&txtBusca=<%Response.Write(varBusca);%>"> Próximo </a> |
<%
 }else{
%>
Próximo |
<%
}
%>
<hr />
<a href="/imprensa">« Voltar</a>

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.