Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
сортировка TablePane
|
|||
|---|---|---|---|
|
#18+
В наличии: tablePane c колонкой ДАТА в формате (TOCHAR(dat,'dd/mm/yyyy')) при нажатии на заголовок таблицы происходит сортировка таблицы по указанному столбцу, Но в случае сортировки по дате получается сортировка по стрингу, а хотелось бы по хорологу (integer) кто нибудь переопредял сортировку ? или как с этим бороться? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.06.2010, 17:13 |
|
||
|
сортировка TablePane
|
|||
|---|---|---|---|
|
#18+
Ymka2007, Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.06.2010, 18:22 |
|
||
|
сортировка TablePane
|
|||
|---|---|---|---|
|
#18+
Ymka2007или как с этим бороться? Ставим тип даты в определении свойства класса, тогда в SQL ничего переделывать не нужно... Но в 2007 нет нашего формата ДД.ММ.ГГГГ... А у тебя какой Кащей? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2010, 12:35 |
|
||
|
сортировка TablePane
|
|||
|---|---|---|---|
|
#18+
Так же еще используем свойство OnCreateResultSet у tablePane , а там уже можно фантазировать сколько угодно! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2010, 12:40 |
|
||
|
сортировка TablePane
|
|||
|---|---|---|---|
|
#18+
servit, спасибо, так и сделал (забыл кой чего от экспериментов удалить, фильтр работал в одну сторону) krvsa , твое предложение хорошо с нулевого цикла v2010 чтоб обновлять OnCreateResultSet нужно вызывать executeQuery() а при нажатии на заголовок таблицы он не срабатывает повторно это все при условии useSnapshot=1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2010, 18:05 |
|
||
|
сортировка TablePane
|
|||
|---|---|---|---|
|
#18+
Ymka2007твое предложение хорошо с нулевого цикла v2010 Не так уж и долго "пробежаться" поклассам и проставить нужный тип даты... Тем паче в 2010 нужный тип вроде есть. А потом так же пробежаться по табличкам... Зато результат оправдает затраты. Я аналогичными "пробежками" занимался не раз... Т.ч. знаю про что пишу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2010, 22:04 |
|
||
|
сортировка TablePane
|
|||
|---|---|---|---|
|
#18+
krvsa, не я не готов на рабочем проекте "пробежать" :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2010, 11:34 |
|
||
|
сортировка TablePane
|
|||
|---|---|---|---|
|
#18+
Ymka2007 , а на тестовых не так интересно... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2010, 11:52 |
|
||
|
сортировка TablePane
|
|||
|---|---|---|---|
|
#18+
servit, Тоже решила воспользоваться вашим примером, та же проблема, что и у Ymka2007. Есть готовый запрос, который выполняется в портале в режимах logical и display и сортирует по дате правильно. Код: plaintext 1. 2. Тот же самый текст только без ORDER BY я помещаю в tablePane и пытаюсь сортировать значения по клику на заголовок таблицы (useSnapshot="true"), при этом данные похоже сортируются как строки, а не как даты... Попробовала ваш пример Код: plaintext 1. 2. 3. 4. при отрисовке ячейки таблицы ошибка <ZCHAR>IllegalValuePassedToTOCHAR^%qarfunc но мы используем свой тип даты ДД.ММ.ГГ так тоже пробовала, ошибка та же Код: plaintext 1. 2. 3. 4. видимо я что-то неправильно делаю, как же получить нужную мне сортировку по клику на название столбца? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2011, 07:17 |
|
||
|
сортировка TablePane
|
|||
|---|---|---|---|
|
#18+
Cache for Windows (x86-32) 2010.1.1 (Build 503) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2011, 07:17 |
|
||
|
сортировка TablePane
|
|||
|---|---|---|---|
|
#18+
ну и столбец вот так задаю: Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2011, 07:25 |
|
||
|
сортировка TablePane
|
|||
|---|---|---|---|
|
#18+
Аленочка , Мне кажется, путаница возникает из-за того, какой конечный тип поля-даты Вы используете в запросе: %Integer, %Date или %String Проверьте в Портале при Logical/Display режимах следующий запрос: select %external({d '2011-06-27'}) d_str,{d '2011-06-27'} d_date,%internal({d '2011-06-27'}) d_int ПримерClass del.test Extends %ZEN.Component.page { /// Этот блок Style содержит определение CSS-стиля страницы. XData Style { <style type="text/css"> </style> } XData Contents [ XMLNamespace = " http://www.intersystems.com/zen" ] { <page xmlns=" http://www.intersystems.com/zen" title=""> <tablePane queryClass="del.test" queryName="Test" useSnapshot="true" > <column colName="ID" header="ID"/> <column colName="Дата1" header="Дата в формате $Integer" OnDrawCell="DrawDate"/> <column colName="Дата2" header="Дата в формате $Date"/> <column colName="Дата3" header="Дата в формате $String"/> </tablePane> <tablePane sql="select 1 ID,del.GetDate(1) Дата1,to_char({d '2011-06-27'},'DD.MM.YY') Дата2 union select 2,del.GetDate(2),to_char({d '2011-05-28'},'DD.MM.YY') union select 3,del.GetDate(3),to_char({d '2011-04-28'},'DD.MM.YY')" useSnapshot="true" > <column colName="ID" header="ID"/> <column colName="Дата1" header="Дата"/> <column colName="Дата2" header="Дата как строка"/> </tablePane> </page> } Method DrawDate( pTable As %ZEN.Component.tablePane, pName As %String, pSeed As %String) As %Status { write $system.SQL.TOCHAR(%query(pName),"DD.MM.YY") q $$$OK } Query Test() As %SQLQuery(ROWSPEC = "ID:%Integer,Дата1:%Integer,Дата2:%Date,Дата3:%String") [ SqlProc ] { select 1,%internal({d '2011-06-27'}),{d '2011-06-27'},%external({d '2011-06-27'}) union select 2,%internal({d '2011-05-28'}),{d '2011-05-28'},%external({d '2011-05-28'}) union select 3,%internal({d '2011-04-28'}),{d '2011-04-28'},%external({d '2011-04-28'}) } ClassMethod GetDate(ID As %String) As %Date [ SqlName = GetDate, SqlProc ] { q $H-(ID*30) } } Если всё-таки не получится самостоятельно разобраться, то я жду от Вас законченного примера по аналогии с моим. PS: пример тестировал на версии 2011.1RC1, но думаю, не должно быть различий с версией 2010.1.1 Опциональный FROM в Вашей версии поддерживается . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2011, 09:45 |
|
||
|
сортировка TablePane
|
|||
|---|---|---|---|
|
#18+
я думаю, что если в свойстве типа дата указать формат то потом ничего делать не надо, сортировка и отображение должны работать нормально соответственно если у вас хранимая процедура то ее можно вынести в вычисляемое свойство, которому потом и задать формат отображения ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2011, 11:50 |
|
||
|
сортировка TablePane
|
|||
|---|---|---|---|
|
#18+
w $tr($ZD(+$h,4,,2),"/",".") либо сделать первоначальную настройку локали на разделитель в дате OnDrawCell - уже не нужен будет Правда бывают некоторые заморочки с рукописными фильтрами для tablePane я в таком случае пишу свой OnCreateResultSet в котором можно все переиначить в нужном направлении )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2011, 11:54 |
|
||
|
сортировка TablePane
|
|||
|---|---|---|---|
|
#18+
servit, я взяла ваш пример и добавила немного другие даты (кстати каким SRC пользуетесь..?) Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. Правильно отсортировался только первый столбец в первой таблице, там где "Дата в формате $Integer", остальные в разнобой. Я свою задачу решила, спасибо, изменила тип данных которая возвращает моя хранимка на %Integer и втавила ваш обработчик: Код: plaintext 1. 2. 3. 4. Всё заработало просто замечательно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.07.2011, 04:32 |
|
||
|
сортировка TablePane
|
|||
|---|---|---|---|
|
#18+
=АленочкаПравильно отсортировался только первый столбец в первой таблице, там где "Дата в формате $Integer", остальные в разнобой.Проверил на версии 2010.1.0, результат совпадает с Вашим. В версии 2011.1 сортировка правильно отображается и при %Date. =Аленочка(кстати каким SRC пользуетесь..?)Возьмите моё сообщение, нажмите на "Цитировать" и увидите, что никаким... Кстати, уже была похожая тема. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.07.2011, 09:39 |
|
||
|
сортировка TablePane
|
|||
|---|---|---|---|
|
#18+
можно конечно обновится и до 2011, но кто даст гарантии что тогда не вылезут новые глюки.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.07.2011, 16:24 |
|
||
|
сортировка TablePane
|
|||
|---|---|---|---|
|
#18+
Аленочкаможно конечно обновится и до 2011, но кто даст гарантии что тогда не вылезут новые глюки..Для этого заранее и выпускаются Field Test, Release Candidate . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.07.2011, 16:38 |
|
||
|
|

start [/forum/topic.php?fid=39&msg=37368311&tid=1557674]: |
0ms |
get settings: |
11ms |
get forum list: |
20ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
169ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
73ms |
get tp. blocked users: |
1ms |
| others: | 246ms |
| total: | 541ms |

| 0 / 0 |
