[Tutorial] Extraindo o valor de exibição de uma DDDW (PowerBuilder)
![[Tutorial] Extraindo o valor de exibição de uma DDDW (PowerBuilder)](/imgs/featured_image_default.png)
Overview
Você já ficou perdido tentando recuperar um valor específico de uma Dropdown DataWindow no PowerBuilder? Não se preocupe! Neste post, vamos explorar um método simples e eficaz para conseguir exatamente isso. Através de um exemplo prático, aprenderemos a utilizar a função Evaluate da Datawindow para extrair o valor de exibição (display value) de um campo DDDW, especificamente na linha 42. Prepare-se para adicionar mais uma ferramenta ao seu kit de desenvolvimento PowerBuilder!
Quando utilizamos uma Dropdown DataWindow (DDDW), geralmente temos pares com chaves e os respectivos valores, que serão exibidos na tela. (Exemplo: DDDW para mostrar os Estados vai ter uma coluna com ID [interno] e o display value contendo o nome dos Estados). Este post mostra como recuperar o valor de exibição do campo DDDW em uma determinada linha.
Vamos partir do seguinte pressuposto: Você quer recuperar o valor de exibição do campo estado, na linha 42.
Para realizar esta operação, será necessário utilizar a função Evaluate da Datawindow.
string ls_campo, ls_desc, ls_resultado
long ll_linha
ls_campo = "estados"
ll_linha = 42
ls_desc = "Evaluate('LookupDisplay(ls_campo)', " + String(ll_linha) + ")"
ls_resultado = dw_1.Describe(ls_desc)
MessageBox("Sistema!", ls_resultado, Information!)
No exemplo acima, primeiro declaramos as variáveis, depois definimos o nome do campo da Datawindow que tem a DDDW (ls_campo), o número da linha que contém o valor que queremos (ll_linha) e depois definimos a expressão que será utilizada no Evaluate.
O importante deste fonte é a parte do describe com evaluate, pois ela que vai buscar o nome de exibição (display value) do item.
Se esta função for buscar algo dinâmico, é interessante que sejam feitas validações de erros. Não fiz para simplificar o exemplo.
Espero ter ajudado.