Página 1 de 1

HBROWSE - edição condicional

Enviado: 14 Out 2010 22:55
por Luciano Bonfim
Caros,

Quando defino um browse consigo pintar determinadas células usando o código abaixo

Código: Selecionar todos

obrowseArray:aColumns[1]:bColorBlock := {|celula| IF(LEN(ALLTRIM(celula))<mult_niv2,;
                                        {x_BLUE, x_WHITE , x_BLACK, x_GRAY},;
                                        {x_BLACK, x_WHITE , x_BLACK, x_GRAY})}
Mas nesse caso fica fácil pois a célula que quero pintar ou não é a mesma que está o conteúdo que irei testar para decidir.

Porem agora preciso habilitar ou não a edição de uma determinada célula, mas para isso irei precisar testar o conteúdo de uma outra célula que está em outra coluna mas na mesma linha.

no codigo abaixo

Código: Selecionar todos

obrowseArray:aColumns[4]:lEditable := {|celula| IF(podeEditarCelula(celula)=.t.,.t.,.f.)}
como faço para passar como parametro o conteudo da celula que está na COLUNA1 e não o conteúdo que está da coluna4?

Código: Selecionar todos

obrowseArray:aColumns[4]:lEditable := {|CONTEUDOCOLUNA1| IF(podeEditarCelula(CONTEUDOCOLUNA1)=.t.,.t.,.f.)}

Muito Obrigado

Luciano Bonfim

Re: HBROWSE - edição condicional

Enviado: 15 Out 2010 11:57
por esbasso
postei no grupo em anexo um hbrowse mais atualizado que ainda não esta no CVS
NESTE tem uma nova propriedade que facilita pegar o valor de qualquer coluna

todas as colunas de um browse são objetos
obrowseArray:aColumns[4]:lEditable := {|CONTEUDOCOLUNA1| IF(podeEditarCelula(CONTEUDOCOLUNA1)=.t.,.t.,.f.)}

então ficaria assim
obrowseArray:aColumns[4]:lEditable := {| obrowseArray:aColumns[1]:value| IF(podeEditarCelula(obrowseArray:aColumns[1]:value)=.t.,.t.,.f.)}
ou
obrowseArray:Column4:lEditable := {| obrowseArray:Column1:value| IF(podeEditarCelula(obrowseArray:Column1:value)=.t.,.t.,.f.)}

Re: HBROWSE - edição condicional

Enviado: 15 Out 2010 14:31
por Luciano Bonfim
deu erro de compilação

Compiling 'itensPlanejamento.prg'...
itensPlanejamento.prg(975) Error E0030 Syntax error: "syntax error at ':'"
1 error

No code generated

** error 1 ** deleting itensPlanejamento.c

Re: HBROWSE - edição condicional

Enviado: 15 Out 2010 15:05
por esbasso
mas isso deve ser erro teu
verifique a linha e corrija

Re: HBROWSE - edição condicional

Enviado: 19 Out 2010 00:35
por Luciano Bonfim
Caro Basso,

não consegui descobri onde está o problema, o pior é que dá erro de compilação

obrowseArray:aColumns[4]:lEditable := {|obrowseArray:aColumns[1]:value| iif(podeEditarCelula(obrowseArray:aColumns[1]:value),.t.,.f.)}