Перейти к содержимому


форматирование текста

цвет

Сообщений в теме: 9

#1 Jeka

    Новичок

  • Пользователи
  • Pip
  • 4 сообщений
  • Пол:Мужчина

Отправлено 16 Октябрь 2012 - 16:45

Хотелось бы вернуться к форматированию в версии 1.9.5... есть даже двойной вопрос:
1. в таблице куча строк... у каждой есть уникальный id(Входящий номер)... нужно как то закрасить цветом две строки между которыми есть пробел... то бишь идут не по порядку...
то бишь есть
1
2
3
то ничего не делать, а если

1
2
4
5
то закрасить 2 и 4 строку...

или если так тяжело то второй вопрос:

2. в кнопке доп.действий добавить кнопку изменить цвет и убрать цвет...

огромное спасибо...

ps только начал изучать сие чудо...

#2 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 762 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 17 Октябрь 2012 - 10:21

В режиме эксперта введите следующий код:
!data_table("Таблица","`ID`=".($cur_line['ID']['value']-1)) or !data_table("Таблица","`ID`=".($cur_line['ID']['value']+1))

Где "Таблица" - имя вашей таблицы, "ID" - название поля с уникальным id. Для поля "ID" должен быть включен доступ на чтение.

Вкратце: код ищет строки с id-1 и id+1. Если не находит - возвращает истину (а это значит - выполнять форматирование). Если необходимо не учитывать строки в "удаленных", то добавляете условие на "Статус записи":
!data_table("Таблица","status=0 and `ID`=".($cur_line['ID']['value']-1)) or !data_table("Таблица","status=0 and `ID`=".($cur_line['ID']['value']+1))


#3 Jeka

    Новичок

  • Пользователи
  • Pip
  • 4 сообщений
  • Пол:Мужчина

Отправлено 17 Октябрь 2012 - 11:02

о... спасибо... а второй вариант решения? не могу понять какой командой сделать закраску по нажатии...

#4 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 762 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 17 Октябрь 2012 - 11:29

По нажатию доп.действия напрямую активировать форматирование невозможно. Можно только изменить значение какого-либо поля, на котором завязано форматирование. Например, это поле зовется "Закрасить строку", а в форматировании стоит условие: "Закрасить строку" = "Да". Тогда в доп.действии "Закрасить" у вас будет следующий тривиальный код:

$line['Закрасить строку'] = "Да";


#5 UmaCat

    Активный участник

  • Пользователи
  • PipPipPip
  • 122 сообщений

Отправлено 28 Июнь 2013 - 12:16

вопрос похожий
в таблице есть поле с номером недели.

хочется в зависимости от дня недели закрашивать. - то есть визуально видеть где закончилась одна неделя и началась другая
можно , конечно, сделать 52 вида оформления - но как-то вариант не изящен
есть другие варианты?

#6 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 762 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 28 Июнь 2013 - 14:43

Создайте вычисляемое поле, которое будет в зависимости от четности номера недели заполняться значением к примеру 1 или 2. Настроить затем форматирование будет тривиально.

Или другой вариант, без создания доп. поля и вычисления - сразу вычислять четность номера в режиме эксперта в настройках форматирования.

#7 UmaCat

    Активный участник

  • Пользователи
  • PipPipPip
  • 122 сообщений

Отправлено 30 Июнь 2013 - 12:40

Просмотр сообщенияCbCoder (28 Июнь 2013 - 14:43) писал:

Или другой вариант, без создания доп. поля и вычисления - сразу вычислять четность номера в режиме эксперта в настройках форматирования.

изящно, теперь видно разделение по неделям.
Спасибо

2 оформления

Четная неделя
$cur_line['Номер недели']['db_value'] % 2 =='0'

Нечетная неделя
$cur_line['Номер недели']['db_value'] % 2 !='0'


#8 goodcolor

    Активный участник

  • Пользователи
  • PipPipPip
  • 206 сообщений
  • Пол:Мужчина
  • Город:Йошкар-Ола

Отправлено 01 Июль 2013 - 08:25

Просмотр сообщенияUmaCat (28 Июнь 2013 - 12:16) писал:

в таблице есть поле с номером недели.

Не подскажете как осуществляется вычисление номера недели?
Компания "Хороший Цвет"
www.GoodColor.ru - поставки и производство самосветящихся товаров и материалов

#9 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 762 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 01 Июль 2013 - 10:01

Просмотр сообщенияgoodcolor (01 Июль 2013 - 08:25) писал:

Не подскажете как осуществляется вычисление номера недели?

У него скорее всего ничего не вычисляется, номер вручную проставляется по очереди (ну или иным способом заполняется, через импорт например)

Если же вам нужно вычисление номера недели по конкретной дате, то вычисление следующее: $line['Номер недели'] = date("W", strtotime($line['Дата'])). Подробности тут: http://www.php.net/m...nction.date.php

#10 UmaCat

    Активный участник

  • Пользователи
  • PipPipPip
  • 122 сообщений

Отправлено 09 Июль 2013 - 08:33

у нас есть поле дата (которое заполняется пользователем)
на основании этой даты вычисляется номер недели - алгортим выше, как указал CbCoder

$dol=new datetime($line['Дата']);
$line['Номер недели'] =date_format($dol, 'W');






Количество пользователей, читающих эту тему: 4

0 пользователей, 4 гостей, 0 анонимных