Сообщений в теме: 9
#1
Отправлено 16 Октябрь 2012 - 16:45
Хотелось бы вернуться к форматированию в версии 1.9.5... есть даже двойной вопрос:
1. в таблице куча строк... у каждой есть уникальный id(Входящий номер)... нужно как то закрасить цветом две строки между которыми есть пробел... то бишь идут не по порядку...
то бишь есть
1
2
3
то ничего не делать, а если
1
2
4
5
то закрасить 2 и 4 строку...
или если так тяжело то второй вопрос:
2. в кнопке доп.действий добавить кнопку изменить цвет и убрать цвет...
огромное спасибо...
ps только начал изучать сие чудо...
1. в таблице куча строк... у каждой есть уникальный id(Входящий номер)... нужно как то закрасить цветом две строки между которыми есть пробел... то бишь идут не по порядку...
то бишь есть
1
2
3
то ничего не делать, а если
1
2
4
5
то закрасить 2 и 4 строку...
или если так тяжело то второй вопрос:
2. в кнопке доп.действий добавить кнопку изменить цвет и убрать цвет...
огромное спасибо...
ps только начал изучать сие чудо...
#2
Отправлено 17 Октябрь 2012 - 10:21
В режиме эксперта введите следующий код:
Где "Таблица" - имя вашей таблицы, "ID" - название поля с уникальным id. Для поля "ID" должен быть включен доступ на чтение.
Вкратце: код ищет строки с id-1 и id+1. Если не находит - возвращает истину (а это значит - выполнять форматирование). Если необходимо не учитывать строки в "удаленных", то добавляете условие на "Статус записи":
!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
Отправлено 17 Октябрь 2012 - 11:02
о... спасибо... а второй вариант решения? не могу понять какой командой сделать закраску по нажатии...
#4
Отправлено 17 Октябрь 2012 - 11:29
По нажатию доп.действия напрямую активировать форматирование невозможно. Можно только изменить значение какого-либо поля, на котором завязано форматирование. Например, это поле зовется "Закрасить строку", а в форматировании стоит условие: "Закрасить строку" = "Да". Тогда в доп.действии "Закрасить" у вас будет следующий тривиальный код:
$line['Закрасить строку'] = "Да";
#5
Отправлено 28 Июнь 2013 - 12:16
вопрос похожий
в таблице есть поле с номером недели.
хочется в зависимости от дня недели закрашивать. - то есть визуально видеть где закончилась одна неделя и началась другая
можно , конечно, сделать 52 вида оформления - но как-то вариант не изящен
есть другие варианты?
в таблице есть поле с номером недели.
хочется в зависимости от дня недели закрашивать. - то есть визуально видеть где закончилась одна неделя и началась другая
можно , конечно, сделать 52 вида оформления - но как-то вариант не изящен
есть другие варианты?
#6
Отправлено 28 Июнь 2013 - 14:43
Создайте вычисляемое поле, которое будет в зависимости от четности номера недели заполняться значением к примеру 1 или 2. Настроить затем форматирование будет тривиально.
Или другой вариант, без создания доп. поля и вычисления - сразу вычислять четность номера в режиме эксперта в настройках форматирования.
Или другой вариант, без создания доп. поля и вычисления - сразу вычислять четность номера в режиме эксперта в настройках форматирования.
#7
Отправлено 30 Июнь 2013 - 12:40
CbCoder (28 Июнь 2013 - 14:43) писал:
Или другой вариант, без создания доп. поля и вычисления - сразу вычислять четность номера в режиме эксперта в настройках форматирования.
изящно, теперь видно разделение по неделям.
Спасибо
2 оформления
Четная неделя
$cur_line['Номер недели']['db_value'] % 2 =='0'
Нечетная неделя
$cur_line['Номер недели']['db_value'] % 2 !='0'
#8
Отправлено 01 Июль 2013 - 08:25
UmaCat (28 Июнь 2013 - 12:16) писал:
в таблице есть поле с номером недели.
Не подскажете как осуществляется вычисление номера недели?
Компания "Хороший Цвет"
www.GoodColor.ru - поставки и производство самосветящихся товаров и материалов
www.GoodColor.ru - поставки и производство самосветящихся товаров и материалов
#9
Отправлено 01 Июль 2013 - 10:01
goodcolor (01 Июль 2013 - 08:25) писал:
Не подскажете как осуществляется вычисление номера недели?
У него скорее всего ничего не вычисляется, номер вручную проставляется по очереди (ну или иным способом заполняется, через импорт например)
Если же вам нужно вычисление номера недели по конкретной дате, то вычисление следующее: $line['Номер недели'] = date("W", strtotime($line['Дата'])). Подробности тут: http://www.php.net/m...nction.date.php
#10
Отправлено 09 Июль 2013 - 08:33
у нас есть поле дата (которое заполняется пользователем)
на основании этой даты вычисляется номер недели - алгортим выше, как указал CbCoder
на основании этой даты вычисляется номер недели - алгортим выше, как указал CbCoder
$dol=new datetime($line['Дата']); $line['Номер недели'] =date_format($dol, 'W');
Количество пользователей, читающих эту тему: 1
0 пользователей, 1 гостей, 0 анонимных












