PDA

View Full Version : WebCombo não obedece comando AddEmptyItem



Francimilson
3-Apr-2024, 02:27 PM
16770

alguém já passou por esse problema em campos WebCombo mesmo habilitado
Set pbAddEmptyItem to False
se o usuário não clicar na lista dos dados do onFill o campo fica vazio.

Object oFilial is a cWebCombo
Set psLabel to "Filial:"
Set pbAddEmptyItem to False
Set psValue to "1"
Set peLabelPosition to lpTop
Set piColumnSpan to 10

Samuel Pizarro
3-Apr-2024, 03:23 PM
esse campo esta associado a uma tabela.campo de algum DDO ?

o help dessa propriedade diz clamamente que essa propriedade so funciona para data-aware combos..
eu nao vejo um entry_item definido no seu objeto, associando o mesmo a um DDO (tabela.campo)

se vc nao quer o valor em branco, ja tentou configurar um valor padrao para o mesmo ? Apos o onfill já configure o valor do combo pra um dos valores possiveis.

Francimilson
3-Apr-2024, 03:48 PM
Olá Samuel esse campo não esta associado a nenhuma tabela DD
mas eu tenho campos que esta Associado e tem o mesmo problema.
Não é sempre que acontece isso.

estou preenchendo ele através de uma consulta SQL conforme abaixo na procedure onfill
Move "" to sSQL
Move " SELECT FILIAL.PRIMARIO, FILIAL.CODIGO, FILIAL.RAZAOSOCIAL FROM FILIAL" to sSQL
Move (sSQL + " WHERE FILIAL.PRIEMPRESA = "+(String(iEmpresa))) to sSQL
If (sAlterafilial = "N") Move (sSQL + " AND FILIAL.CODIGO = "+(String(iFilial))) to sSQL
Move (sSQL + " ORDER BY FILIAL.CODIGO") to sSQL
Get LoadFromSQLRetornoArrayWeb FILIAL.File_Number sSQL to aTheRows
If ((SizeOfArray(aTheRows)) > 0) Begin
For iContador from 0 to (SizeOfArray(aTheRows)-1)
Move (aTheRows[iContador].aCells[0].sValue) to iFilial
Move (aTheRows[iContador].aCells[1].sValue) to sRazaoFilial

Move (ToOEM(sRazaoFilial)) to sRazaoFilial
Move "" to sFilial
Move ((Trim(iFilial)) + " - " + (Trim(sRazaoFilial))) to sFilial
Send AddComboItem (Trim(iFilial)) sFilial
Loop
End

Samuel Pizarro
3-Apr-2024, 04:17 PM
Não é sempre que acontece isso.
se nao acontece sempre, isso eh suspeito..

Já conseguiu identificar qdo e qdo nao ocorre o problema ?

qual versão do DF está usando ?

Francimilson
3-Apr-2024, 04:47 PM
Estou suando VDF 19.1
Deixa eu ver se consigo te explicar.
Quando preencho os dados nos forms usuario e senha mando carregar o onfil com isso ja seta o primeiro registro no campo ficando dessa forma.
16771

se eu clicar no WebCombo pra abir a lista fica dessa forma
16772

aqui que começa o problema caso não selecionar nenhuma das opções o WebCombo fica vazio. mas se selecionar qualquer um dos registros ele não mostra mais a opção do registro vazio conforme abaixo.

16773

Samuel Pizarro
3-Apr-2024, 07:22 PM
bom, nao tenho seu codigo pra olhar..

mas fiz um teste simples no weborder da 19.1 e pra mim ta funcionando normal..

View DemoConstrainedGrid.wo , acesse a view em modo de execucao pelo menu Demo, Grids and Lists, Constrained Grids.

O codigo modificado abaixo, eu removi o valor em branco "" e acrescentei mais 2 valores...
E na propria rotina eu ja configuro um valor padrao.. que eh o que vc deseja, já que vc nao quer ter valor em branco, vc precisa ter um valor padrao..




Object oFilterCombo is a cWebCombo
Set psLabel to "Filter on:"

Procedure OnFill
Forward Send OnFill

//Send AddComboItem "" "None"
Send AddComboItem "NUMBER" "Number"
Send AddComboItem "NAME" "Name"
Send AddComboItem "VA" "Value A"
Send AddComboItem "OK" "Value OK"
WebSet psValue to "OK"
End_Procedure
End_Object


o resultado segue na figura..

16774

Nao tem como o usuario, "não escolher" algum valor..
Repare que nem foi necessario configurar a propriedade em questao pra false, pois esse eh o valor padrao.

[]'s

Francimilson
4-Apr-2024, 05:16 AM
Bom dia Samuel muito obrigado pela atenção.
Ontem depois que postei fui analisar o codigo desse campo e verifiquei que estava fazendo o WebSet psValue to "OK" externo da saida do password e esqueci de colocar no final do onfill.


Atenciosamente,

Francimilson Camurça

Samuel Pizarro
4-Apr-2024, 06:50 AM
eh, isso equivale a vc configurar um valor default para o campo no DD. a classe do DD, se encarrega de configurar o valor padrao no objeto pra vc..

mas como o seu nao eh associado a nenhum DD, vc tem que faze-lo..

Funcionou depois ?

Francimilson
4-Apr-2024, 07:48 AM
Não tem aqueles momentos que você olha o código umas mil vezes e não consegue visualizar o erro ate o momento que conversa sobre o erro com alguém ;) .


Sem funcionou perfeitamente.

Samuel Pizarro
4-Apr-2024, 09:09 AM
a toda hora!! ta na sua cara, mas vc nao consegue ver..