× Linguagem de Programação ADVPL

Perguntas Botão marcar todos em uma listbox

Mais
11 anos 1 mês atrás #17643 por cintra_daniel
Bom dia pessoal, eu desenvolvi uma tela de perguntas personalizada, para que os usuários possam marcar quais informações que eles desejam visualizar em uma listbox, e não somente dizer o famoso de/até que é padrão no protheus. Só que eu fui questionado com relação a um botão para marcar todos, e não estou encontrando nada que ajude... Alguém ja fez isso, ou tem algum exemplo? Segue em anexo uma imagem da tela de perguntas...
Anexos:

Por favor Acessar ou Registrar para participar da conversa.

Mais
11 anos 1 mês atrás #17646 por kanaamlrr
Respondido por kanaamlrr no tópico Botão marcar todos em uma listbox
Daniel, é um MsSelect?
Se for, clicando você pode inserir um bloco de código da seguinte forma:

oMark:oBrowse:bAllMark := {|| MarcaCpo(.T.)}

Normalmente eu utilizo uma função que marca os campos, passando .T. ou .F. de acordo com a opção se vem do bAval ou do bAllMark.

Ai dentro da função você verifica o parâmetro e marca o registro posicionado ou todos da lista.

Para acessar essa função basta clicar no quadrado que tem no cabeçalho bem acima da primeira caixa de seleção.

Por favor Acessar ou Registrar para participar da conversa.

Mais
11 anos 1 mês atrás #17648 por cintra_daniel
Kanaãm acredito que não seja MsSelect...

Segue logo abaixo o código onde eu crio a listbox..

//ListBox Serviços
@ 020,180 SAY "SELECIONAR CAMPOS" SIZE 100, 07 OF oDlg PIXEL
@ 030,180 ListBox olbPainel Fields ;
HEADER "", "Descrição", "Código" ;
Size 200,220 Of oDlg Pixel ColSizes 5, 80, 20 ;
ON DblClick (flbPainelDBC(1))

olbPainel:SetArray(albPainel)
olbPainel:bLine := {|| { If(albPainel[olbPainel:nAt,01],oOk,oNo),;
albPainel[olbPainel:nAt,02],;
albPainel[olbPainel:nAt,03]} }

Por favor Acessar ou Registrar para participar da conversa.

Mais
11 anos 1 mês atrás #17653 por kanaamlrr
Respondido por kanaamlrr no tópico Botão marcar todos em uma listbox
Nesse caso eu usaria um checkbox para tratar isso.

@ 010,001 CheckBox oCheckBox Var lInverte Size 130,9 Pixel Of oDlgMain Prompt "Marca/Desmarcar Todos" On Change ( AEval(albPainel,{|x| x[1] := !x[1], olbPainel:Refresh() } ) ) Pixel


Acho que funciona assim.

Por favor Acessar ou Registrar para participar da conversa.

Mais
11 anos 1 mês atrás #17661 por cintra_daniel
Funcionou, valeu! mais uma vez :)

Por favor Acessar ou Registrar para participar da conversa.

Tempo para a criação da página:0.077 segundos
Joomla templates by a4joomla