|
|
|
Разукрасить ячейку в cxGrid
|
|||
|---|---|---|---|
|
#18+
vavanAriochну наи еще одна просьба, у меня 2007 так что плз без новомодных имен юнитов в uses, спасибо а оно на 2007 не работает, АВ валится, даже если поправить юниты ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2012, 17:12 |
|
||
|
Разукрасить ячейку в cxGrid
|
|||
|---|---|---|---|
|
#18+
подглядывающийоно на 2007 не работаету меня работает ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2012, 17:13 |
|
||
|
Разукрасить ячейку в cxGrid
|
|||
|---|---|---|---|
|
#18+
vavanAriochотключайэто ты мне? что "отключать"? >>>тормоза пойдут везде где исполняется массовая обработка датасета без деактивации подвязанной гуйни Ок, не отключай. Дезактивируй. Чтобы без тормозов. > без новомодных имен юнитов в uses оно само... > cds2.IndexFieldNames:='field1'; Это в DFM есть ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2012, 17:14 |
|
||
|
Разукрасить ячейку в cxGrid
|
|||
|---|---|---|---|
|
#18+
подглядывающийАВ валится, даже если поправить юниты попробуй Код: pascal 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. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. 137. 138. 139. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2012, 17:16 |
|
||
|
Разукрасить ячейку в cxGrid
|
|||
|---|---|---|---|
|
#18+
AriochДезактивируй. Чтобы без тормозовты можешь внятно излагать? Ariochоно самоэто ты так извиняешься что у тебя нет 2007-й дельфы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2012, 17:19 |
|
||
|
Разукрасить ячейку в cxGrid
|
|||
|---|---|---|---|
|
#18+
Ну что же, фишка TClientDataset.CloneCursor впечатляет. Что будет, если исходный DataSet будет не другой CDS, а какой-нибудь обычный TSQLQuery, и он вовсе не держит в памяти всю таблицу целиком ? Тогда TClientDataset.CloneCursor не пройдет и придется делать в память полную копию таблицы. По сравнению с нежеланием тратить память на невидимый столбец это должно быть просто преступление. Таким образом, насколько понимаю, этот способ имеет смысл только при использовании CDS в качестве истоника данных. До недавнего времени при этом cxGrid все равно бы делал полную копию данных во внутренние структуры. В последнем апдейте вроде для некоторых датасетов тепеь позволена подгрузка по мере необходимости. Надеюсь, он не дублирует больше CDS. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2012, 17:36 |
|
||
|
Разукрасить ячейку в cxGrid
|
|||
|---|---|---|---|
|
#18+
AriochНу что же, фишка TClientDataset.CloneCursor впечатляета так ты видимо дезавуируешь всю пургу что ранее намел? AriochЧто будет, если исходный DataSet будет не другой CDSответ искать в моих ранних ответах в треде Ariochнасколько понимаю, этот способ имеет смысл только при использовании CDS в качестве истоника данныхстрого говоря опять неправильно понимаешь. при использовании любого датасета имеющего соответствующий функционал. а их таки есть AriochДо недавнего времени при этом cxGrid все равно бы делал полную копию данных во внутренние структурыпри чем "при этом"? в bound mode он именно так и фурычит, для всех столбцов грида (включая невидимые) в датаконтроллере создается столбец со всеми вытекающими AriochВ последнем апдейте вродеа ты не гадай а спроси прямо уже, я таки эксперт. Ariochвроде для некоторых датасетов тепеь позволена подгрузка по мере необходимоститы про Server Mode что ли? это несколько перпендикулярно обсуждаемому топику AriochНадеюсь, он не дублирует больше CDSничего не изменилось (и не будет) в отношении рассматриваемой задачи ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2012, 17:50 |
|
||
|
Разукрасить ячейку в cxGrid
|
|||
|---|---|---|---|
|
#18+
> при использовании любого датасета имеющего соответствующий функционал Т.е. DevExpress должн завести у себя таблицу таких датасетов и как этот функционал включать ? Иначе это будут включать все новички на любых таблицах и обвинять грид в тормозах и AV. > а так ты видимо дезавуируешь всю пургу что ранее намел? при нарантированом использовании CDS в режиме CloneCursor и в качестве первичного источника данных довольно узкая ниша. Шаг в сторону - и ку-ку. При этом вариант без CDS все равно проще и универсальнее. cds2.FindKey([AViewInfo.GridRecord.Values[0]]); // Assert не катит - он отключиться может в релизе v := (aviewinfo.item.DataBinding as TcxGridItemDBDataBinding).Field.AsInteger; v := AViewInfo.GridRecord.Values[AViewInfo.item.Index]; > в bound mode он именно так и фурычит, для всех столбцов грида (включая невидимые) в датаконтроллере создается столбец со всеми вытекающими Речь не только про столбцы, но и про строки. > ты про Server Mode что ли? это несколько перпендикулярно обсуждаемому топику Почему вдруг ? Экономия памяти, все такое. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2012, 18:07 |
|
||
|
Разукрасить ячейку в cxGrid
|
|||
|---|---|---|---|
|
#18+
AriochDevExpress должн завести у себя таблицу таких датасетов и как этот функционал включать ?нет конечно, упаси боже им достаточно просто предоставить event handler типа OnGetDrawSyncDataSet(var Result: TDataSet) в к-м конечный пользователь грида (я) сможет предоставить датасет на к-й гридовые отрисовщики в случае включенного нового флага типа DrawSyncDataSet в DataModeController будут позиционировать этот датасет а все новички за незнанием или неприменимостью данного продолжат юзать штатный способ Ariochпри нарантированом использовании CDSпри использовании любого подходящего датасета с соответствующим функционалом. из общедоступных их минимум три. я уж не говорю про закрытые типа моего Ariochдовольно узкая нишада что ты что ты AriochПри этом вариант без CDS все равно проще и универсальнееразве что универсальнее AriochAssert не катит - он отключиться может в релизетеперь ты меня на тестовом примере писать еще возьмешься учить?спасибо, я пас AriochРечь не только про столбцы, но и про строкимне уже скучно стало, зануда AriochПочему вдруг ? Экономия памяти, все такоеи это и кое-что еще но только server mode никак не меняет подходы к рассматриваемой в треде задаче ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2012, 18:25 |
|
||
|
Разукрасить ячейку в cxGrid
|
|||
|---|---|---|---|
|
#18+
И всё таки, когда же ваш прославленный метод прогонки датасета догонит дополнительный столбец ??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2012, 23:12 |
|
||
|
Разукрасить ячейку в cxGrid
|
|||
|---|---|---|---|
|
#18+
DimaBrИ всё таки, когда жекогда ты, двоечник, поумнеешь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.09.2012, 10:09 |
|
||
|
Разукрасить ячейку в cxGrid
|
|||
|---|---|---|---|
|
#18+
vavanкогда ты, двоечник, поумнеешь Мне кажется, или это хамство выперает ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.09.2012, 10:15 |
|
||
|
Разукрасить ячейку в cxGrid
|
|||
|---|---|---|---|
|
#18+
DimaBr, да ты в своем уме??? конечно кажется ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.09.2012, 10:17 |
|
||
|
Разукрасить ячейку в cxGrid
|
|||
|---|---|---|---|
|
#18+
vavanAriochПри этом вариант без CDS все равно проще и универсальнееразве что универсальнее Проще тоже. Даже один только процитированный обработчик уже короче. Код: pascal 1. 2. 3. 4. А ведь еще надо создать вторичный CDS и проклонировать его. Ну и всегда остается вопрос кто будет это развивать через 5 лет, не поломает ли он это. Поэтому да, так тоже можно при дестком контроле обвязки грида. Но я пока не могу увидеть ни одного случая, где это было бы лучше. а вообще меня cxGird удивил. Я знал что он тяжёлый - куча вложенный вирутальный вызовов, на каждый чих создаются и уничтожаются объекты типа TPainter и т.д. - но что настолько... Просто на перерисовке на Phenom2 x4 ожирает 10-16% поцессор, в пересчете на одно ядро - 40-70%, а если пересчитать на какой-нибудь одноядерный гигагерцовый целерон... грустно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.09.2012, 13:29 |
|
||
|
Разукрасить ячейку в cxGrid
|
|||
|---|---|---|---|
|
#18+
vavan AriochПочему вдруг ? Экономия памяти, все такоеи это и кое-что еще но только server mode никак не меняет подходы к рассматриваемой в треде задаче Тут две задачи смешались. В моей речи про экономии памяти не было. Но ты продвигал вторичный dataset именно для экономии, чтобы не тратиться на скрытый столбец. Вот я и представляю: cxGrid, server mode over DBX - и тут мы для экономии памяти вхреначиваем CDS ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.09.2012, 13:31 |
|
||
|
Разукрасить ячейку в cxGrid
|
|||
|---|---|---|---|
|
#18+
Ariochа если пересчитать на какой-нибудь одноядерный гигагерцовый целерон... грустно. На 486 вполне прилично работает ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.09.2012, 14:08 |
|
||
|
Разукрасить ячейку в cxGrid
|
|||
|---|---|---|---|
|
#18+
Спомнил одну историю поводу раскраски cxGrid . В Одной из моих систем в заказчике есть функционал, где пользователь(Админ) может выделить цвет для статуса абонента , что б система в гриде раскрасил таких абонентов. Как то админ не знаю для прикола или не чайно поставил статусу ВИП = clBlack, вижу заказчик звонит мне и говорит что у них ВИП клиенты не отображаются в программе, а я в этот день обновление отправил им. Блин сразу ломка, думаю где я ошибся, открываю начинаю рыться в БД, смотрю пакеты макеты, процедуры который обновил. Ну блин вижу что все нормально должно быть, думаю не ужели полете внешний ключ и кто то удалил этот статус, захочу смотрю все есть. Блин в вобщем почти час на это, потом звоню говорю да блин все вроде должно работать, а он блин .... говорит ну не отображаются, есть записи черным цветом!! И Банг!!! чуть я не взорвался и не начал ругать их))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.09.2012, 14:43 |
|
||
|
Разукрасить ячейку в cxGrid
|
|||
|---|---|---|---|
|
#18+
Ramin А белый шрифт на белом фоне - слабо ??? Ёпрст - данные все пропали !!!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.09.2012, 15:06 |
|
||
|
Разукрасить ячейку в cxGrid
|
|||
|---|---|---|---|
|
#18+
DimaBrRamin А белый шрифт на белом фоне - слабо ??? Ёпрст - данные все пропали !!!!! )))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.09.2012, 15:07 |
|
||
|
Разукрасить ячейку в cxGrid
|
|||
|---|---|---|---|
|
#18+
DimaBrRamin А белый шрифт на белом фоне - слабо ??? Ёпрст - данные все пропали !!!!! Лучше прозрачным. И сетку прозрачным цветом тоже. Вообще должны быть красные буквы зелёного цвета! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.09.2012, 15:17 |
|
||
|
Разукрасить ячейку в cxGrid
|
|||
|---|---|---|---|
|
#18+
Ariochодин только процитированный обработчик уже корочену так объедини две строчки в одну, если для тебя это сложно. и ты btw сравниваешь не пойми что, я такого не писал Ariochеще надо создать вторичный CDS и проклонировать егоахренеть сложности Ariochостается вопрос кто будет это развивать через 5 лет, не поломает ли он этоэтот вопрос остается всегда, вне зависимости от выбранного решения Ariochтак тоже можно а совсем недавно тебе было "очевидно" что идея моя неудачна Ariochя пока не могу увидеть ни одного случая, где это было бы лучшеработай над собой, расширяй кругозор про память я тебе уже разжевал. и вообще чем меньше завязок на специфики конкретного гуишного компонента и больше кладется на датасет тем лучше Arioch но что настолько а я тебе говорил что ты заблуждаешься полагаясь на "бесплатность" девэксовских решений и веря в его эффективность Ariochserver mode over DBX - и тут мы для экономии памяти вхреначиваем CDSserver mode с CDS не так уж много смысла имеет, т.к. CDS сам по себе позволяет как угодно изголяться с получением целевого набора данных. а dbx ваще в топку ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.09.2012, 10:53 |
|
||
|
Разукрасить ячейку в cxGrid
|
|||
|---|---|---|---|
|
#18+
> ну так объедини две строчки в одну Т.е. по твоему если взять программу на 100КБ исходников, удалиь все CR/LF, то получим программу сложности Hello World ? > ахренеть сложности Затраты больше нуля ? больше. Значит твой вариант сложнее. Намного или нет - другой вопрос. > совсем недавно тебе было "очевидно" что идея моя неудачна Мне попрежнему очевидно, что для DevEx , которым нужно поддерживать любой TDataSet эта идея неудачна, пока они не смогут жёстко контролировать использование только CDS и только в режиме CloneCursor и отключать этот режим "шаг влево/шаг вправо", и пока они не убедятся, что у них наличествует достаточно много клиентов, для которых этот вариант будет хоть в чём-то лучше стандартного получения данных из аргументов обработчика события. > про память я тебе уже разжевал. при использовании CDS и хранении в памяти всей таблицы говорить про экономию памяти вообще как-то странно. хочешь экономить память - убери CDS > и вообще чем меньше завязок на специфики конкретного гуишного компонента ...и больше завязок на специфику конкретного CDS > и больше кладется на датасет тем лучше Если generic TDataset - то да. А иначе - шило на мыло меняем. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.09.2012, 13:06 |
|
||
|
Разукрасить ячейку в cxGrid
|
|||
|---|---|---|---|
|
#18+
> Arioch vavan - явный фанатик CDS ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.09.2012, 13:19 |
|
||
|
Разукрасить ячейку в cxGrid
|
|||
|---|---|---|---|
|
#18+
AriochТ.е. по твоемуне фантазируй, по-моему синхронизировать датасет и взять данные из него ничуть не сложнее чем из датаконтроллера. ладно бы там вместо одной сто строк пришлось ввалить (при этом невозможно было бы их завернуть в вызов враппера) но когда их две (или даже десять) не вижу никакого усложнения. нет, если сложность для тебя меряется в кол-ве cr/lf то конечно мой метод ажно в два раза "сложнее" AriochЗатраты больше нуля ?затраты чего? AriochМне попрежнему очевидноа мне по-прежнему очевидно что ты неспособен как достаточно широко увидеть проблему так и мой подход к ее решению Ariochпри использовании CDS и хранении в памяти всей таблицы говорить про экономию памяти вообще как-то странно. хочешь экономить память - убери CDSво бред-то Ariochбольше завязок на специфику конкретного CDSк-й во-первых есть штатный стандартный компонент, а во-вторых если делать по уму то можно было бы обойтись и без клона и добиться (при желании) работоспособности моего варианта с любым конкретным датасетом AriochЕсли generic TDatasetт.е. именно с generic Ariochиначе - шило на мыло меняеминаче ты берешься рассуждать о вещах про к-е недостаточно знаешь. даже в усеченном варианте я предложил простой способ предоставить необходимую точку входа для тех кому это может понадобиться и для них тоже очевидно что мой способ гораздо удачнее штатного ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.09.2012, 13:26 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=37957139&tid=2040388]: |
0ms |
get settings: |
10ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
47ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
47ms |
get tp. blocked users: |
1ms |
| others: | 210ms |
| total: | 342ms |

| 0 / 0 |
