|
Цвет ячейки в tablePane
|
|||
---|---|---|---|
#18+
Добрый день! Есть табличка, а в ней колонка с цветом: Код: plaintext 1. 2. 3.
Нужно установить фон ячейки в соответствии с кодом цвета, отображаемым в ней :-) Через condition и cellStyle у меня не получилось, там кажется цвет невозможно передать извне. Остается только OnDrawCell для столбца. Тут не знаю какой взять тэг. Получилось установить только фон для текста: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
А как всю ячейку залить? ----------------------------------------------- А мы тут плюшками балуемся... Аленочка тм ... |
|||
:
Нравится:
Не нравится:
|
|||
02.03.2011, 09:38 |
|
Цвет ячейки в tablePane
|
|||
---|---|---|---|
#18+
АленочкаА как всю ячейку залить? Как вариант... Код: plaintext
Не проверял... ... |
|||
:
Нравится:
Не нравится:
|
|||
02.03.2011, 10:15 |
|
Цвет ячейки в tablePane
|
|||
---|---|---|---|
#18+
Аленочка , а где ты прочитала про параметры метода OnDrawCell? Что вних передаётся? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.03.2011, 10:55 |
|
Цвет ячейки в tablePane
|
|||
---|---|---|---|
#18+
Аленочка , /// Created using the page template: Default Class del.test2 Extends %ZEN.Component.page { /// Имя приложения, которому принадлежит эта страница. Parameter APPLICATION; /// Отображаемое имя для нового приложения. Parameter PAGENAME; /// Домен, используемый для локализации. Parameter DOMAIN = "sqlru"; /// Этот блок Style содержит определение CSS-стиля страницы. XData Style { <style type="text/css"> table.tpTable td { border-right: 1px solid gray; border-bottom: 1px solid gray; padding: 0px; overflow: hidden; /*text-overflow: ellipsis;*/ } </style> } /// Этот XML блок описывает содержимое этой страницы. XData Contents [ XMLNamespace = " http://www.intersystems.com/zen" ] { <page xmlns=" http://www.intersystems.com/zen" title=""> <tablePane sql="select 'red' colColor union select 'blue' union select '#FF9122' union select '#00CA00'"> <column colName="colColor" header="Цвет" OnDrawCell="DrawCell"/> </tablePane> </page> } Method DrawCell( pTable As %ZEN.Component.tablePane, pName As %String, pSeed As %String) As %Status { if %query("colColor")'="" { &html< <div style=#("background-color:"_%query("colColor")_";")#> #(%query("colColor"))# </div>> } q $$$OK } } ... |
|||
:
Нравится:
Не нравится:
|
|||
02.03.2011, 12:43 |
|
Цвет ячейки в tablePane
|
|||
---|---|---|---|
#18+
krvsa Аленочка , а где ты прочитала про параметры метода OnDrawCell? Что вних передаётся? OnDrawCell ... |
|||
:
Нравится:
Не нравится:
|
|||
02.03.2011, 12:46 |
|
Цвет ячейки в tablePane
|
|||
---|---|---|---|
#18+
servit , по твоей ссылке хоть немного побольше информации чем в нашем 2007... ... |
|||
:
Нравится:
Не нравится:
|
|||
02.03.2011, 22:46 |
|
Цвет ячейки в tablePane
|
|||
---|---|---|---|
#18+
krvsaАленочкаА как всю ячейку залить? Как вариант... Код: plaintext
Не проверял... а я сейчас вот проверила в рамках другой своей задачи - работает как надо, ячейку полностью закрашивает =))! спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.03.2011, 07:44 |
|
Цвет ячейки в tablePane
|
|||
---|---|---|---|
#18+
servit Аленочка , /// Created using the page template: Default Class del.test2 Extends %ZEN.Component.page { /// Имя приложения, которому принадлежит эта страница. Parameter APPLICATION; /// Отображаемое имя для нового приложения. Parameter PAGENAME; /// Домен, используемый для локализации. Parameter DOMAIN = "sqlru"; /// Этот блок Style содержит определение CSS-стиля страницы. XData Style { <style type="text/css"> table.tpTable td { border-right: 1px solid gray; border-bottom: 1px solid gray; padding: 0px; overflow: hidden; /*text-overflow: ellipsis;*/ } </style> } /// Этот XML блок описывает содержимое этой страницы. XData Contents [ XMLNamespace = " http://www.intersystems.com/zen" ] { <page xmlns=" http://www.intersystems.com/zen" title=""> <tablePane sql="select 'red' colColor union select 'blue' union select '#FF9122' union select '#00CA00'"> <column colName="colColor" header="Цвет" OnDrawCell="DrawCell"/> </tablePane> </page> } Method DrawCell( pTable As %ZEN.Component.tablePane, pName As %String, pSeed As %String) As %Status { if %query("colColor")'="" { &html< <div style=#("background-color:"_%query("colColor")_";")#> #(%query("colColor"))# </div>> } q $$$OK } } и этот пример работает, но ячейку не полностью закрашивает, остаются светлые полосы снизу и сверху хотя для "эффекта присутствия" тоже неплохо выглядит ... |
|||
:
Нравится:
Не нравится:
|
|||
11.03.2011, 07:49 |
|
Цвет ячейки в tablePane
|
|||
---|---|---|---|
#18+
поторопилась (( оба примера одинаково незакрашенные отступы оставляют, если текст ячейки в одну строку а вот если текст в ячейке с переносами, в 2 строки н-р, то ячейка закарашивается почти полностью ... |
|||
:
Нравится:
Не нравится:
|
|||
11.03.2011, 07:59 |
|
Цвет ячейки в tablePane
|
|||
---|---|---|---|
#18+
Аленочка , спан не стоит использовать, т.к. это не блочный элемент, приходиться его делать таковым. Т.ч. лучше сразу див, как у servit . ... |
|||
:
Нравится:
Не нравится:
|
|||
11.03.2011, 09:08 |
|
Цвет ячейки в tablePane
|
|||
---|---|---|---|
#18+
Аленочкаоба примера одинаково незакрашенные отступы оставляют Тут нужно: - показать нам скрин всей строки - знать как "настроен" твой цсс на отступы и поля - показать исходный хтмл-код Потому как Код: plaintext
Должен занять все пространство материнского элемента. Если визуально это не так - нужно смотреть какой там материнский элемент и работать уже с ним. Поскольку в ЗЕНе целая матрёшка из элементов генерится. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.03.2011, 09:13 |
|
Цвет ячейки в tablePane
|
|||
---|---|---|---|
#18+
Аленочка , Вариант 1Class del.test2 Extends %ZEN.Component.page { /// Этот блок Style содержит определение CSS-стиля страницы. XData Style { <style type="text/css"> table.tpTable td,table.tpTable tr.tpSelected td {padding: 0px;} .tpStr {height:100%;} .tpSel {font-weight: normal;} </style> } /// Этот XML блок описывает содержимое этой страницы. XData Contents [ XMLNamespace = " http://www.intersystems.com/zen" ] { <page xmlns=" http://www.intersystems.com/zen" title=""> <tablePane id="tp" sql="select 'red' colColor union select 'blue' union select '#FF9122' union select '#00CA00'" width="1px" nowrap="false"> <column colName="colColor" header="Цвет" OnDrawCell="DrawCell"/> </tablePane> </page> } Method DrawCell(pTable As %ZEN.Component.tablePane, pName As %String, pSeed As %String) As %Status { write:%query("colColor")'="" "<div style=""height:100%;background-color:"_%query("colColor")_";"">"_%query("colColor")_" asd</div>" q $$$OK } } Вариант 2Class del.test2 Extends %ZEN.Component.page { /// Этот XML блок описывает содержимое этой страницы. XData Contents [ XMLNamespace = " http://www.intersystems.com/zen" ] { <page xmlns=" http://www.intersystems.com/zen" title=""> <button id="bt" caption="Test" onclick="zenPage.test(zen('tp'));"/> <tablePane id="tp" sql="select 'red' colColor union select 'blue' union select '#FF9122' union select '#00CA00'" width="1px" nowrap="false"> <column colName="colColor" header="Цвет"/> </tablePane> </page> } ClientMethod test(tp) [ Language = javascript ] { for (var row=0;row<tp.getProperty('rowCount');row++) { var td=tp.findChildByClass(tp.findElement('tr_' + row),'tpStr'); td.style.backgroundColor=td.innerHTML; td.innerHTML=td.innerHTML+' asd'; } zen('bt').setHidden(true); } } ... |
|||
:
Нравится:
Не нравится:
|
|||
11.03.2011, 16:10 |
|
Цвет ячейки в tablePane
|
|||
---|---|---|---|
#18+
Аленочка , Вариант 3 /// Created using the page template: Default Class del.test2 Extends %ZEN.Component.page { /// Этот XML блок описывает содержимое этой страницы. XData Contents [ XMLNamespace = " http://www.intersystems.com/zen" ] { <page xmlns=" http://www.intersystems.com/zen" title=""> <tablePane id="tp" sql="select 'red asd' colColor union select 'blue gg' union select '#FF9122 334' union select '#00CA00 g6e'" width="1px" nowrap="false"> <column colName="colColor" header="Цвет"/> <condition colName="colColor" predicate="EQ" value="{colColor}" cellStyle="#(%page.%Eval("background-color:"_$p(%query("colColor")," ",1)))#" /> </tablePane> </page> } } ... |
|||
:
Нравится:
Не нравится:
|
|||
12.03.2011, 10:48 |
|
Цвет ячейки в tablePane
|
|||
---|---|---|---|
#18+
servit супер! на досуге все варианты попробую, все-таки и через "кондишн" можно, невнимательно я доки читала ... |
|||
:
Нравится:
Не нравится:
|
|||
15.03.2011, 03:35 |
|
Цвет ячейки в tablePane
|
|||
---|---|---|---|
#18+
Здравствуйте! У меня есть аналогичная проблема, только расскрасить надо не ячейку, а ряд. Очень понравился последний вариант с condition, но при попытке его реализовать выдается вот такое сообщение об ошибке ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2011, 02:49 |
|
Цвет ячейки в tablePane
|
|||
---|---|---|---|
#18+
И собственно вопрос возможно ли это как-то обойти или лучше реализовать для ячейки через OnDrawCell? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2011, 02:51 |
|
Цвет ячейки в tablePane
|
|||
---|---|---|---|
#18+
SiyashkaИ собственно вопрос возможно ли это как-то обойти или лучше реализовать для ячейки через OnDrawCell?Ошибка возникает из-за неопределённого значения %query("Color"). Есть два пути решения проблемы: 1) установить в Портале UndefVarBehavior=2 2) добавить защиту в код, например: Рабочий пример для Caché 2007.1.0Class del.test Extends %ZEN.Component.page { /// Этот блок Style содержит определение CSS стиля страницы. XData Style { <style type="text/css"> </style> } /// Этот XML блок описывает содержимое этой страницы. XData Contents [ XMLNamespace = " http://www.intersystems.com/zen" ] { <page xmlns=" http://www.intersystems.com/zen" title=""> <tablePane queryClass="del.test" queryName="test" nowrap="false" dataSource="columns" > <column colName="Color" header="Цвет"/> <condition colName="Color" predicate="EQ" value="{Color}" rowStyle="#(%this.%Eval("background-color:"_$p($get(%query("Color"),"white")," ",1)))#" /> </tablePane> </page> } Query test() As %Query(ROWSPEC = "ID:%Integer,Color:%String") { } ClassMethod testExecute(ByRef qHandle As %Binary) As %Status { set qHandle=1 set qHandle(1)="red asd" set qHandle(2)="blue gg" set qHandle(3)="#FF9122 334" set qHandle(4)="#00CA00 g6e" Quit $$$OK } ClassMethod testFetch(ByRef qHandle As %Binary, ByRef Row As %List, ByRef AtEnd As %Integer = 0) As %Status [ PlaceAfter = testExecute ] { set Row="" if qHandle>4 { set AtEnd=1 } else { set Row=$LB(qHandle,qHandle(qHandle)) set qHandle=qHandle+1 } Quit $$$OK } ClassMethod testClose(ByRef qHandle As %Binary) As %Status [ PlaceAfter = testExecute ] { Quit $$$OK } } ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2011, 09:48 |
|
Цвет ячейки в tablePane
|
|||
---|---|---|---|
#18+
Пустое значение возникает из-за включённого по-умолчанию указателя выбранной строки showRowSelector="true" Если его выключить, первоначальный пример должен заработать без ошибки. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2011, 10:00 |
|
Цвет ячейки в tablePane
|
|||
---|---|---|---|
#18+
servit, стоит ли советовать людям первый путь? Мне кажется, если программа изначально не была заточена под такое поведение Cache, это верный способ обрести кучу проблем. Ведь <UNDEFINED> - это четкая и недвусмысленная реакция на ошибку программиста. Неожиданное же значение <пусто> отлавливать будет потруднее, по каким-то отдаленным последствиям... Т.е., только если изначально разработчик принял аксиому: "у всех неопределенных переменных - пустое значение", проблем у него (наверное) не будет. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2011, 10:09 |
|
Цвет ячейки в tablePane
|
|||
---|---|---|---|
#18+
Alexey Maslov , Да, именно советовать не стоит, но предлагать в качестве одного из возможных вариантов решения со ссылкой на документацию, почему бы и нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2011, 10:35 |
|
Цвет ячейки в tablePane
|
|||
---|---|---|---|
#18+
servit, спасибо за ответ буду пробовать ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2011, 11:27 |
|
Цвет ячейки в tablePane
|
|||
---|---|---|---|
#18+
Всех приветствую, не стала заводить новую тему, т.к. вопрос мелкий и тоже касается форматирования ячейки: Можно ли текст в ячейках tablePane по вертикали прижать к самому верхнему краю? По идее, код должен быть что-то вроде - text-valign: "top"; Размещала в блоке XData Style страницы и в style у столбца, не работает. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.01.2013, 02:07 |
|
Цвет ячейки в tablePane
|
|||
---|---|---|---|
#18+
Аленочка , для использования style нужно точно представлять с каким хтмл ты имеешь дело... ... |
|||
:
Нравится:
Не нравится:
|
|||
31.01.2013, 08:42 |
|
Цвет ячейки в tablePane
|
|||
---|---|---|---|
#18+
Вот как выглядит простая строка в tablePane Код: html 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
Где появляется твой style? ... |
|||
:
Нравится:
Не нравится:
|
|||
31.01.2013, 08:52 |
|
Цвет ячейки в tablePane
|
|||
---|---|---|---|
#18+
АленочкаПо идее, код должен быть что-то вроде Код: css 1.
Такого свойства в ЦСС нет... Но есть http://htmlbook.ru/css/vertical-align ... |
|||
:
Нравится:
Не нравится:
|
|||
31.01.2013, 08:55 |
|
|
start [/forum/topic.php?fid=39&startmsg=37143364&tid=1557239]: |
0ms |
get settings: |
7ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
173ms |
get topic data: |
13ms |
get forum data: |
2ms |
get page messages: |
60ms |
get tp. blocked users: |
1ms |
others: | 281ms |
total: | 556ms |
0 / 0 |