Форум » Clipper » ColorBlock » Ответить

ColorBlock

Dima: Чую что торможу где то ;) Хочу в браузере раскрасить ячейки и не фига не выходит Хотя там только одно поле символьное а все остальные числовые Вообчем isnum везде дает .f. , что я не так делаю ? Ниже просто пример на скорую руку , что бы было понятно. #include "Common.ch" PROCEDURE FancyC(browse) LOCAL xValue local n:=1 local column FOR n =1 TO browse:colCount column := browse:getColumn(n) xValue := EVAL(column:block) *column:defColor:={1,2} if ISNUM( xValue) column:colorBlock:={|x| if(x>0,{5,2},{6,2})} endif NEXT RETURN если тупо написать , работает. if n==2 column:colorBlock:={|x| if(pole55>0,{5,2},{6,2})} endif

Ответов - 4

nusibodo: Dima пишет: если тупо написать , работает или SELECT

Pasha: Поле может и числовое, а col:block нечисловой Посмотри как он у тебя формируется

ort: В моем браузере цвета задаются так: For i=1 To oB:colCount() oB:getColumn(i):colorBlock:={|v| mbColor(v) } Next i Function mbColor(v,l) LOCAL cType := ValType(v), aPosColor IF Deleted() aPosColor := {5,2} ELSEIF !Empty(cSpecialCond) .AND. EVal(cSpecialCond) aPosColor := {7,2} ELSEIF !Empty(l) .AND. Eval(l) aPosColor := {5,2} ELSE DO CASE CASE cType == 'C' aPosColor := IF(v=='X',{6,2},{1,2}) CASE cType == 'D' aPosColor := {4,2} CASE cType == 'L' aPosColor := {1,2} CASE cType == 'M' aPosColor := {1,2} CASE cType == 'N' aPosColor := {3,2} ENDCASE ENDIF RETURN aPosColor


Dima: Pasha пишет: Поле может и числовое, а col:block нечисловой Посмотри как он у тебя формируется Да уж и начудил я там ;))))))))))) Спасибо , разобрался !!! PS Век живи , век учись.



полная версия страницы