bom dia a todos,
Harbour MiniGUI Extended Edition 19.02 (Release)
BRMAKE - Make File para Harbour/xHarbour/MiniGUI Versão 2.05 FreeWare
BASE DE DADOS MySql
pessoal gostaria de saber como faço para mudar a cor no DYNAMICBACKCOLOR da grid
tenho a tela de cliente onde existem diversas grides onde o usuário acaba escolhendo qual ira abrir, cada grid contem uma determinada coluna, a estrutura da grid eu tenho dentro de uma tabela que chamo de LAYOUT onde tem um campo chamado TB_FIELDS tipo LONGTEXT, este campo esta composto desta forma:
A:CLIENTES;F:CODIGO;H:Codigo;L:15;C:;B:;P:;T:C;
A:CLIENTES;F:NOME;H:Nome;L:43;C:;B:;P:;T:C;
A:CLIENTES;F:LIM_CREDIT;H:Credito;L:14;C:;B:{|Z| iif( VAL(Z[3])<= 500.00, COR_GRID_ROSA,COR_GRID_LILAS )};P:@ 999,999.99;T:N;
A:CALCULADA;F:IF(LIM_CREDIT<=400.00,LIM_CREDIT*1.10,IF( LIM_CREDIT > 400.00 AND LIM_CREDIT <= 600.00, LIM_CREDIT*1.20,LIM_CREDIT*1.30));H:AUMENTO;L:20;M:AUMENTO;C:COR_GRID_ROSA;B:;P:;T:N;
A:CLIENTES;F:CONCEITO;H:Conceito;L:15;C:;B:;P:;T:C;
A:CALCULADA;F:IF(CONCEITO="BOM","VENDA LIBERADA", IF(CONCEITO="NOVO","VERIFICAR","NEGADO"));H:SITUAÇÃO;L:12;M:SITUACAO;C:COR_GRID_VERDE;B:;P:;T:C;
A:CLIENTES;F:CONTATO;H:CONTATO;L:15;C:;B:;P:;T:C;
A:CLIENTES;F:TELEFONE_1;H:TELEFONE_1;L:12;C:;B:;P:;T:C;
onde:
A: - nome da tabela
F: - nome do campo
H: - nome do HEADERS
l: - tamanho da coluna
C: - a cor da coluna
B: - a condição para aplicar cores na linhas e colunas
p: - a picture do campo
t: - o tipo da coluna TEXTO, NUMERICA, LOGICA e DATA
tenho um vetor chamado ESTRUTURA_DA_GRID que recebera os dados acima e uma variável chamada DBACKCOLOR que armazena as condições de B: que montado desta forma:
FOR X := 1 TO F STEP 1
AHEADERS += "'" + ESTRUTURA_DA_GRID[X,4] + IIF( X < F,"',","'" )
AWIDTHS += ALLTRIM( STR( ESTRUTURA_DA_GRID[X,5] ) ) + IIF( X < F,",","" )
IF X = 1
DBACKCOLOR += "COR_GRID_AZULCLARO"
ELSE
IF !EMPTY( ESTRUTURA_DA_GRID[X,10] )
DBACKCOLOR += ESTRUTURA_DA_GRID[X,10]
ELSE
IF EMPTY( ESTRUTURA_DA_GRID[X,11] )
DBACKCOLOR += "COR_GRID_BRANCA"
ELSE
DBACKCOLOR += ESTRUTURA_DA_GRID[X,11]
ENDIF
ENDIF
ENDIF
IF ESTRUTURA_DA_GRID[X,8] = "N"
AJUSTIFY += "1" + IIF( X < F,",","" )
ELSE
AJUSTIFY += IIF( X < F,"0,","" )
ENDIF
CABECALHOS_GRID := CABECALHOS_GRID + "{|| PROPRIEDADES_COLUNA( " + ALLTRIM( STR( X ) ) +" ) }"
IF X < F
DBACKCOLOR += ","
CABECALHOS_GRID := CABECALHOS_GRID + " , "
ENDIF
NEXT
a grid estou montando desta forma:
DEFINE GRID GRID_GERAL
ROW 100
COL 005
WIDTH LARGURA_DESKTOP - 20
HEIGHT ALTURA_DESKTOP - 150
HEADERS {&AHEADERS.}
WIDTHS {&AWIDTHS.}
ITEMS AROWS
VALUE 1
FONTNAME "Arial"
FONTSIZE 10
FONTBOLD .T.
DYNAMICBACKCOLOR {&DBACKCOLOR.}
ONCHANGE NUM_REG()
ONDBLCLICK EDIT_INSERT_REGISTROS( 2 )
ONHEADCLICK { &CABECALHOS_GRID. }
CELLNAVIGATION .T.
MULTISELECT .F.
JUSTIFY {&(AJUSTIFY)}
LOCKCOLUMNS 1
PAINTDOUBLEBUFFER .T.
END GRID
no caso a terceira coluna que é CREDITO esta sendo pintada de PRETO já tentei varias formas e não consegui resultado, cfe o print da tela.
se alguém puder ajudar agradeço
abraço