Jump to content
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

Sign in to follow this  
CrzB

[Ajuda] DataGrid

Recommended Posts

CrzB

Boas.

Eu estou a desenvolver uma aplicação em VB 6.0 e estou a trabalhar, obviamente, com base de dados em Access 2003.

A minha dúvida é o seguinte: Ao fazer a listagem dos campos de uma tabela, gostaria de, visto que tenho cerca de 2000 e tal registos, de fazer a listagem utilizando o objecto "datagrid" mas em vez de ter uma scrollbar na vertical, colocar páginas, ou seja, aparecer, por exemplo só 30 registos, e com um botão ao clicar apareça os próximos 30 registos na mesma datagrid. Não sei se isto é possível mas penso que sim. Espero que me consigam ajudar

Abraços :P

Share this post


Link to post
Share on other sites
vbtipo

Tens aqui um exemplo de como fazer uma paginação de dados de uma tabela numa página web através de ASP (Visual basic para página web), espero que isto te ajude:

<%
'Abrimos a Conexão com o Banco
Dim caminho
Dim conexao
caminho = Server.MapPath("produtos.mdb")
Set conexao = Server.CreateObject("ADODB.Connection")
conexao.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&caminho&";"

        'Selecionamos todos os Produtos da Tabela
Set rsBuscaProdutos = Server.CreateObject("ADODB.Recordset")
strBuscaProdutos = "SELECT * FROM TProdutos ORDER BY Produto_ID"
        rsBuscaProdutos.open strBuscaProdutos, conexao, 3, 3

'Definimos o Numero de Paginas com a propriedade "PageSize" do objeto Recordset
rsBuscaProdutos.PageSize = 10

'Criamos as Validações
if rsBuscaProdutos.eof then
   Mensagem = "Nenhum Registro Encontrado"
   Response.End
else
   'Definimos em qual pagina o visitante está
   if Request.QueryString("pagina")="" then
      intpagina = 1
   else
      if cint(Request.QueryString("pagina"))<1 then
intpagina = 1
      else
if cint(Request.QueryString("pagina"))>rsBuscaProdutos.PageCount then  
    intpagina = rsBuscaProdutos.PageCount
         else
    intpagina = Request.QueryString("pagina")
end if
      end if   
   end if   
        end if
%>


Lema: Se eu não saber de alguma coisa não se preocupem porque tento sempre ajudar alguma coisita, nem que seja, por palpites/sugestões.

Share this post


Link to post
Share on other sites
CrzB

pois vbtipo eu já tenho uma ideia como fazer. Mas não sei meter o que tenho a funcionar assim dizendo.

Tipo: eu pensei que fazer uma contagem dos registos (bd.recordset.recordcount)

e dividir e criar paginas a partir do numero que desse dessa divisao. mas nao sei muito bem como fazer isso.

Outra ideia que tive foi adiocar um registo linha a linha na datagrid, mas nao sei como fazer isso :/

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.