Jam.py
  • Documentação do Jam.py V7
  • Primeiros passos
  • Programação em Jam.py
    • Árvore de tarefas
    • Workflow
    • Trabalhando com módulos
    • Programação do lado do cliente
    • Programação de dados
      • Dataset
      • Navegando em conjuntos de dados
        • Formas mais rápidas de navegar no conjunto de dados
      • Modificando conjuntos de dados
      • Campos
      • Campos comuns
      • Campos Lookup
      • Filtrando registros
      • Filtros
      • Detalhes
    • Programação do lado do servidor
    • Programação de relatórios
    • Palavras reservadas
    • Templates de formulário
  • Jam.py FAQ
  • How to
  • Business application builder
  • Jam.py class reference
  • Release notes
Jam.py
  • »
  • Programação em Jam.py »
  • Programação de dados »
  • Navegando em conjuntos de dados

Navegando em conjuntos de dados¶

Cada conjunto de dados ativo tem um cursor, ou ponteiro, para a linha atual no conjunto de dados. A linha atual em um conjunto de dados é aquela cujos valores podem ser manipulados pelos métodos edit, insert e delete, e a que seus valores de campo são exibidos nos controles de dados de um formulário.

Você pode alterar a linha atual movendo o cursor para apontar para uma linha diferente. A tabela a seguir lista os métodos que você pode usar no código do aplicativo para mover para diferentes registros:

Método do cliente

Método do servidor

Descrição

first

first

Move o cursor para a primeira linha em um conjunto de dados de item.

last

last

Move o cursor para a última linha em um conjunto de dados de item.

next

next

Move o cursor para a próxima linha em um conjunto de dados de item.

prior

prior

Move o cursor para a linha anterior em um conjunto de dados de item.

Além desses métodos, a tabela a seguir descreve dois métodos que fornecem informações úteis ao iterar pelos registros em um conjunto de dados:

Método do cliente

Método do servidor

Descrição

bof

bof

Se o método retornar verdadeiro, o cursor está na primeira linha do conjunto de dados; caso contrário, o cursor não é conhecido como estando na primeira linha do conjunto de dados.

eof

eof

Se o método retornar verdadeiro, o cursor está na última linha do conjunto de dados; caso contrário, o cursor não é conhecido como estando na última linha do conjunto de dados.

Cada vez que o cursor se move para outro registro no conjunto de dados, os seguintes eventos são acionados:

Evento do cliente

Evento do servidor

Descrição

on_before_scroll

on_before_scroll

Ocorre antes de um aplicativo rolar de um registro para outro.

on_after_scroll

on_after_scroll

Ocorre depois que um aplicativo rola de um registro para outro.

Usando esses métodos, podemos navegar em um conjunto de dados. Por exemplo,

no cliente:

function get_customers(customers) {
    customers.open();
    while (!customers.eof()) {
        console.log(customers.firstname.value, customers.lastname.value);
        customers.next();
    }
}

no servidor:

def get_customers(customers):
    customers.open()
    while not customers.eof():
        print customers.firstname.value, customers.lastname.value
        customers.next()

Formas mais rápidas de navegar no conjunto de dados¶

Existe o método each no cliente que pode ser usado para navegar em um conjunto de dados:

Por exemplo:

function get_customers(customers) {
    customers.open();
    customers.each(function(c) {
        if (c.rec_no === 10) {
            return false;
        }
        console.log(c.rec_no, c.firstname.value, c.lastname.value);
    });
}

no servidor:

def get_customers(customers):
    customers.open()
    for c in customers:
        if c.rec_no == 10:
            break
        print c.firstname.value, c.lastname.value

Ambas as funções irão exibir os nomes dos clientes para os primeiros 10 registros no conjunto de dados.

Em ambos os casos, c e customers são ponteiros para o mesmo objeto.

Previous Next

© Copyright 2022, Jam.py Team. Última atualização em jun. 20, 2025.

Built with Sphinx using a theme provided by Read the Docs.