- Fórum
- Protheus/Microsiga/Totvs
- AdvPL (Advanced Protheus Language)
- Dúvidas Gerais
- Botão marcar todos em uma listbox
×
Linguagem de Programação ADVPL
Perguntas Botão marcar todos em uma listbox
- cintra_daniel
- Autor do Tópico
- Desconectado
- Membro Especialista
Menos
Mais
- Postagens: 95
- Obrigados Recebidos: 0
11 anos 1 mês atrás #17643
por cintra_daniel
Botão marcar todos em uma listbox foi criado 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...
Por favor Acessar ou Registrar para participar da conversa.
- kanaamlrr
- Desconectado
- Membro Platina
Menos
Mais
- Postagens: 1576
- Obrigados Recebidos: 4
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.
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.
- cintra_daniel
- Autor do Tópico
- Desconectado
- Membro Especialista
Menos
Mais
- Postagens: 95
- Obrigados Recebidos: 0
11 anos 1 mês atrás #17648
por cintra_daniel
Respondido por cintra_daniel no tópico Botão marcar todos em uma listbox
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]} }
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.
- kanaamlrr
- Desconectado
- Membro Platina
Menos
Mais
- Postagens: 1576
- Obrigados Recebidos: 4
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.
@ 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.
- cintra_daniel
- Autor do Tópico
- Desconectado
- Membro Especialista
Menos
Mais
- Postagens: 95
- Obrigados Recebidos: 0
11 anos 1 mês atrás #17661
por cintra_daniel
Respondido por cintra_daniel no tópico Botão marcar todos em uma listbox
Funcionou, valeu! mais uma vez
Por favor Acessar ou Registrar para participar da conversa.
- Fórum
- Protheus/Microsiga/Totvs
- AdvPL (Advanced Protheus Language)
- Dúvidas Gerais
- Botão marcar todos em uma listbox
Tempo para a criação da página:0.077 segundos