Clipper On Line • Ver Tópico - COMBOBOX na GRID - Não sei setar o Value

COMBOBOX na GRID - Não sei setar o Value

Projeto MiniGui - Biblioteca visual para Harbour/xHarbour

Moderador: Moderadores

 

COMBOBOX na GRID - Não sei setar o Value

Mensagempor NiltonGM » 27 Ago 2018 16:47

Amigos,

Não consigo setar o valor na coluna de uma GRID onde defini um combobox, a ideia é que ao carregar a Grid com as informações do Banco de Dados, seja setado na coluna o DisplayValue correto. O motivo de estar usando um combobox na Grid é que o usuário poderá alterar pelo COMBOBOX o conteúdo da coluna naquela linha. Como faço?

As propiedades importantes setadas na Grid são:

AllowEdit := true
CellNavigation := true
Headers: {'id#','Serviço','Valor','Profissional'}
ColumnControls: { {'TEXTBOX','NUMERIC'}, {'TEXTBOX','CHARACTER'}, {'TEXTBOX','NUMERIC','99,999.99'}, {'COMBOBOX',p_aFatProfCbx,p_aFatProfCbx} }

Obs: a variável PRIVATE p_aFatProfCbx contém a lista de profissionais para carregar no ComboBox

ColumnWhen: {{||.F.},{||.F.},{ || Is_True(g_oUser:Dados:FieldGet('altera_valor_cobrado')) },{||.T.} }
Justify: {GRID_JTFY_RIGHT, GRID_JTFY_LEFT, GRID_JTFY_RIGHT, GRID_JTFY_LEFT}
MultiSelect: false

Ao carregar a Grid, quando vou associar à quarta coluna uma string dá o seguinte erro:
2018-08-27 (2).png


A linha no programa que está dando o erro é a 140:
        oQuery:GoTop()

        FOR s := 1 TO oQuery:LastRec()

            cProfissional := PegaNomeProfissionalOffArray( oQuery:FieldGet('id_profissional') )

             MsgDebug( oQuery:FieldGet('id_profissional'), cProfissional, p_aFatProfCbx )

            ADD ITEM { oQuery:FieldGet('id_servico'), ;
                       STRING_MySQL_TO_HB(oQuery:FieldGet('servico_nome')), ;
                       oQuery:FieldGet('valor_servico'), ;
                       cProfissional ;                                                                    // Aqui da erro, cProfissional contém um nome de um profssional que está em p_aFatProfCbx usado no ComboBox
            } TO Grid_Servicos_Faturar OF faturamento

            IF ( faturamento.RadioGroup_SelecionarServicos.Value == 1 )
                faturamento.Text_TotalServicos.Value := faturamento.Text_TotalServicos.Value + oQuery:FieldGet('valor_servico')
                faturamento.Grid_Servicos_Faturar.CheckBoxItem(s) := true
            ELSE
                faturamento.Grid_Servicos_Faturar.CheckBoxItem(s) := false
            ENDIF

            AAdd( p_aGridServicos, { 'valor' => oQuery:FieldGet('valor_servico'), 'id_profissional' => oQuery:FieldGet('id_profissional'), 'CheckBoxItem' => faturamento.Grid_Servicos_Faturar.CheckBoxItem(s) } )

            oQuery:Skip()

        NEXT s


O que estou fazendo de errado e qual o procedimento correto neste caso?

Grato.
Nilton Medeiros
nilton@sistrom.com.br
Avatar de usuário

NiltonGM
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 393
Data de registro: 05 Jun 2014 23:47
Cidade/Estado: Caieiras/SP
Curtiu: 249 vezes
Mens.Curtidas: 25 vezes

COMBOBOX na GRID - Não sei setar o Value

Mensagempor NiltonGM » 27 Ago 2018 17:16

RESOLVIDÃO!

Depois de quebrar a cabeça, descobri que na coluna da Grid com Combobox, atríbuimos diretamente o Value do Combobox e não o DisplayValue.
Funcionou perfeitamente. Agora que aprendir a fazer certo, a coisa é mais fácil que parece.

Abraços!
Nilton Medeiros
nilton@sistrom.com.br
Avatar de usuário

NiltonGM
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 393
Data de registro: 05 Jun 2014 23:47
Cidade/Estado: Caieiras/SP
Curtiu: 249 vezes
Mens.Curtidas: 25 vezes




Retornar para MiniGui

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 10 visitantes


Ola Amigo, espero que meu site e forum tem lhe beneficiado, com exemplos e dicas de programacao.
Entao divulgue o link da Doacao abaixo para seus amigos e redes sociais ou faça uma doacao para o site forum...
MUITO OBRIGADO PELA SUA DOACAO!
Faça uma doação para o forum
cron
v
Olá visitante, seja bem-vindo ao Fórum Clipper On Line!
Efetue o seu login ou faça o seu Registro