Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Foxpro/Clipper/Dbase > гридимся?


Автор: kinnio 7.12.2006, 02:21
Прошу пардону, если тема уже поднималась, я вроде как не увидела.
В общем суть проблемы:
есть грид (тот самый, где слово "Ошибка" теперь помещается в колонку  smile )
и как теперь поменять forecolor имено в этих строках  ?
Ну или (если нельзя во всей строчке) то в столбце, т.е. чтобы слово "ошибка" было красного революционного цвета и чтобы товарищу было бесконечно стыдно за то, что он допускает еще пока ошибки и прощеты на местах и в целом?  

Автор: Cashey 7.12.2006, 09:58
Grid.Init
Код

this.SetAll("DynamicBackColor", ;
   "IIF(index=2, RGB(255,0,0),iif(index=1,RGB(255,255,0), ;
   RGB(255,255,255)))", "Column")  

Автор: kinnio 7.12.2006, 16:48
мм - что то ни как я этот index не пристрою, Cashey - расшифруй плиз код до конца -
т.е. как обратиться к значению поля колонкию
И еще уверен ли ты, что код пишется в грид.инит (в ООП -варианте)? а то моя компутера ругается чой-то - типа не там и не так .

Автор: Cashey 8.12.2006, 11:38
kinnio, в примере Index - это название поля в таблице, по значению которого происходит перекрашивание записей. Можешь упростить
Код

this.SetAll("DynamicBackColor", ;
   "IIF(FIELD='Ошибка', RGB(255,0,0),RGB(255,255,0)", "Column")  

У меня просто 3 варианта анализировалось

Автор: kinnio 8.12.2006, 15:42
 smile 
Похоже я нашла свое Ватерлоо. просто уже хочется выпить яду и не мучиться.
Cashey, я готова посмеяться над собой вместе с тобой- но давай все же добьем этот случай.
Итак в тупую в конструкторе делаю таблицу. Table1(field1 с(20)
 теперь вручную вписываю 4 записи ошибка/верно/ошибка/верно
создаю FORM1 
кладу грид и привязываю к table1 
в grid.init пишу 

this.SetAll("DynamicBackColor", ;
   "IIF(index, RGB(0,0,255),RGB(0,255,0)", "Column")  
что нужно вписать вместо index чтобы выделить backcolor "ошибка" ? 
по-моему я все мыслимые варианты перебрала.

Автор: Cashey 8.12.2006, 16:38
ну и чего не понятного?
если имя поля будет field1, значит пишишь так:
Код

this.SetAll("DynamicBackColor", ;
   "IIF(ALLTRIM(UPPER(field1))='ОШИБКА', RGB(0,0,255),RGB(0,255,0)", "Column")  

Автор: kinnio 10.12.2006, 03:41
Цитата(Cashey @ 8.12.2006,  16:38)
ну и чего не понятного?

Хотела бя я сама понять "чего непонятного". На сей момент имею только то, что код у меня не работает и совершенно непонятно почему. В любом случае, Cashey, спасибо тебе большое за участие. Уверена, что рано или поздно я разберусь что к чему и заставлю этот листинг работать.

Автор: Cashey 11.12.2006, 01:05
Если не работает, то что происходит?

Автор: kinnio 14.12.2006, 02:48
Тарелка наверное какая-нить над городом зависла. Повисела и улетела, потому как код вдруг "заработал". В общем, .. это тот случай, который бывает в жизни любого программиста (да простят мне Cashey, Artiom и сотоварищи, что я так, типа подмазалась к стану программистов  smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)