|
|
|
Разукрасить ячейку в cxGrid
|
|||
|---|---|---|---|
|
#18+
Всем доброго дня. Собственно сабж. Необходимо разукрасить ячейку в зависимости от значения соседней. Пытаюсь делать вот так: Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. но все ячейки упорно закрашиваются только цветом первой записи датасета. Подскажите, где грабли, плз!!! Заранее благодарен! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.09.2012, 14:19 |
|
||
|
Разукрасить ячейку в cxGrid
|
|||
|---|---|---|---|
|
#18+
Bobbyгде граблив данном событии отрисовываемая ячейка не синхронизирована с датасетом, надо обращаться к датаконтроллеру за данными. ты ведь не в гридмоде орудуешь? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.09.2012, 14:43 |
|
||
|
Разукрасить ячейку в cxGrid
|
|||
|---|---|---|---|
|
#18+
Может это пример поможет? http://www.sql.ru/blogs/x11/1335 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.09.2012, 14:44 |
|
||
|
Разукрасить ячейку в cxGrid
|
|||
|---|---|---|---|
|
#18+
или это http://www.sql.ru/blogs/x11/1326 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.09.2012, 14:45 |
|
||
|
Разукрасить ячейку в cxGrid
|
|||
|---|---|---|---|
|
#18+
Bobby, используй у grid -> TableView -> Column -> Styles событие OnGetContentStyle туда передаетс Record забираешь у него .Values[SomeColumn.Index] и смотришь по нему ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.09.2012, 14:48 |
|
||
|
Разукрасить ячейку в cxGrid
|
|||
|---|---|---|---|
|
#18+
Всем спасибо, разобрался. Вот, что помогло Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. пришлось добавить колонку color и сделать ее невидимой. Может не сильно красиво, но действенно оказалось ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.09.2012, 14:48 |
|
||
|
Разукрасить ячейку в cxGrid
|
|||
|---|---|---|---|
|
#18+
BobbyМожет не сильно красиво"все правильно сделал" (С), другие способы геморнее ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.09.2012, 14:50 |
|
||
|
Разукрасить ячейку в cxGrid
|
|||
|---|---|---|---|
|
#18+
и вот похожая тема по разукрашке http://www.sql.ru/forum/actualthread.aspx?tid=320097 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.09.2012, 14:53 |
|
||
|
Разукрасить ячейку в cxGrid
|
|||
|---|---|---|---|
|
#18+
BobbyВсем спасибо, разобрался. Вот, что помогло Код: pascal 1. 2. пришлось добавить колонку color и сделать ее невидимой. Может не сильно красиво, но действенно оказалось Не надо боятсо добавлять невидимые "служебные" колонки, это нормально, остальные способы действительно геморнее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.09.2012, 18:14 |
|
||
|
Разукрасить ячейку в cxGrid
|
|||
|---|---|---|---|
|
#18+
Aleksey V.P.это нормальноэт на самом деле не очень здоровое решение и я бы предпочел чтоб у девэксов была в этом месте синхронизация (по крайней мере как вариант) но ее увы нет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2012, 10:28 |
|
||
|
Разукрасить ячейку в cxGrid
|
|||
|---|---|---|---|
|
#18+
она есть просто читать надо данные из грида, а не их датасета. еще не хватало на каждый чих каждой ячейки базу данных дергать. Это даже тупой TDBGrid не делает ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2012, 10:41 |
|
||
|
Разукрасить ячейку в cxGrid
|
|||
|---|---|---|---|
|
#18+
vavanэт на самом деле не очень здоровое решение и я бы предпочел чтоб у девэксов была в этом месте синхронизация (по крайней мере как вариант) но ее увы нет Гонять туда-сюда датасет ??? Вы в своём уме ? А если пользователь просто прокрутил грид мышкой ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2012, 10:53 |
|
||
|
Разукрасить ячейку в cxGrid
|
|||
|---|---|---|---|
|
#18+
Ariochона естьсинхронизации с датасетом в этом месте нет Ariochпросто читать надо данные из грида, а не их датасетас кем разговариваешь?я говорю что приходится читать данные из датаконтроллера (а не грида) потому что нет возможности читать непосредственно из датасета. точнее есть конечно но синхронизироваться врукопашную придется и скорее всего без клона не обойтись. а ты мне: "надо из грида". кому "надо"? Ariochне хватало на каждый чих каждой ячейки базу данных дергатьFYI "читать данные из датасета" != "дергать бд", про "тупой" комментировать не стану ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2012, 10:53 |
|
||
|
Разукрасить ячейку в cxGrid
|
|||
|---|---|---|---|
|
#18+
DimaBrГонять туда-сюда датасет ???"гонять туда-сюда" в смысле если данных нет в буфере то спозиционироваться по значению ключевого поля, да. опционально конечно как я отметил DimaBrВы в своём уме ?а есть варианты в чьем я могу быть еще? DimaBrесли пользователь просто прокрутил грид мышкой ?если "вылезло" несколько ранее невидимых строк то "повставать" на них в датасете перед соответствующими событиями отрисовки. если есть какие-то проблемы то озвучивай их конкретно уже ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2012, 10:59 |
|
||
|
Разукрасить ячейку в cxGrid
|
|||
|---|---|---|---|
|
#18+
vavanесли есть какие-то проблемы то озвучивай их конкретно уже Конечно есть, проблема в том что если гонять датасет, грид будет сильно тормозить ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2012, 11:28 |
|
||
|
Разукрасить ячейку в cxGrid
|
|||
|---|---|---|---|
|
#18+
DimaBrесли гонять датасет, грид будет сильно тормозитьнаверное возможно если твой датасет настолько тормозной что отыскать несколько визуализируемых строк для него проблема. для моего нет и основные тормоза идут как раз от грида. ну так на то я и предложил это как возможный вариант поведения ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2012, 11:37 |
|
||
|
Разукрасить ячейку в cxGrid
|
|||
|---|---|---|---|
|
#18+
Загрузите в грид пару сотен строк, и потаскайте ползунок вверх-вниз (бедный датасет) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2012, 11:59 |
|
||
|
Разукрасить ячейку в cxGrid
|
|||
|---|---|---|---|
|
#18+
DimaBrЗагрузите в грид пару сотен строк, и потаскайте ползунок вверх-внизну кого ты лечишь? я в датаконтроллер (а не грид, повторюсь) гружу сотни тысяч записей и знаю как это говно работает DimaBrбедный датасету меня "богатый" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2012, 12:32 |
|
||
|
Разукрасить ячейку в cxGrid
|
|||
|---|---|---|---|
|
#18+
> FYI "читать данные из датасета" != "дергать бд" а кто это гарантирует ? вы же не знаете наперед какой датасет будет ? Т.е. давай-те просто так нагрузим датасет и будем надеятсья что он достаточно умный, чтобы с этим справиться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2012, 12:43 |
|
||
|
Разукрасить ячейку в cxGrid
|
|||
|---|---|---|---|
|
#18+
а если у датасета еще по master-detail подключено несколько других и у на всех ещё повешены свои db-aware контролы - то устроим дискотеку! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2012, 12:44 |
|
||
|
Разукрасить ячейку в cxGrid
|
|||
|---|---|---|---|
|
#18+
vavanну кого ты лечишь? Завидую вашему доктору !!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2012, 12:46 |
|
||
|
Разукрасить ячейку в cxGrid
|
|||
|---|---|---|---|
|
#18+
Ariochа кто это гарантирует ?никто вестимо, включая меня Ariochвы же не знаете наперед какой датасет будет ?я-то знаю, но разрабы девэкса конечно нет, оттого и сделал бы такое поведение опциональным. ты не читаешь что я пишу? Ariochдавай-те просто так нагрузим датасет и будем надеятсья что он достаточно умный, чтобы с этим справитьсядавай для начала ты просто не будешь фантазировать? про свои мне не надо "надеяться", а те кто живут надеждами пусть наздоровье юзают описанный здесь способ Ariochесли у датасета еще по master-detail подключено несколько других и у на всех ещё повешены свои db-aware контролы - то устроим дискотекут.е. про клоны ты тоже не увидел? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2012, 12:49 |
|
||
|
Разукрасить ячейку в cxGrid
|
|||
|---|---|---|---|
|
#18+
DimaBrЗавидую вашему докторуа по теме есть что сказать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2012, 12:52 |
|
||
|
Разукрасить ячейку в cxGrid
|
|||
|---|---|---|---|
|
#18+
ну возьми и сделай это в DevExpress'e - исходники же есть. Интересно как там будет drag-n-drop синхронизироваться или группировка. Не забывай маленький такой эффект, что при изменении строки в TDataSource должна меняться и текузая строка в гриде. Т.е. стою я редактирую ячейку по центру, вдруг сбоку всплыло оповещение, в аську мне написали. Всплыло, повисело и уплыло. Грид натурально начинает в уголке ячейки перерисовывать. Сдвигает TDataSet, тот сдвигает TDataSource, а тот сдвигает текующую строку в гриде, нафиг закрывая редактор. В конце концов не даром у TDataSet есть целый массив записей и возможность прочитать не только текущую, но и любую строку, через что TDBGird и работает. В общем, если тебе не очевидно, что идея твоя неудачная - то просто возьми и сделай. И посмотри что получится. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2012, 12:57 |
|
||
|
Разукрасить ячейку в cxGrid
|
|||
|---|---|---|---|
|
#18+
Ariochвозьми и сделай это в DevExpress'e - исходники же естьэто к чему? я повторюсь предлагаемый мной вариант вполне реализуется даже без надругательства над фирменными сорцами или создания наследников, чисто с применением использованного здесь хэндлера. а если бы ихные разрабы брали все мои патчи или реализовывали идеи, оно бы там разумеется давно было Ariochкак там будет drag-n-drop синхронизироватьсяне юзаю потому затрудняюсь сходу без раздумий представить какие могут быть проблемы. обрисуешь? Ariochили группировкаюзаю, но также с интересом жду описания ожидаемых проблем в приложении к моему варианту AriochНе забывай маленький такой эффект, что при изменении строки в TDataSource должна меняться и текузая строка в гридениче не понял AriochСдвигает TDataSetблинский блин, сколько раз тебе повторить про клоны ? Ariochне даром у TDataSet есть целый массив записей и возможность прочитать не только текущую, но и любую строкуну спасибо за откровения Ariochесли тебе не очевидно, что идея твоя неудачнаятеперь мне очевидно что про датасеты и девэксы ты знаешь не так много как тебе кажется Ariochпросто возьми и сделай. И посмотри что получитсяхочешь я тебе дам демку чтоб ты мог сделать то что предлагаешь мне? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2012, 13:13 |
|
||
|
|

start [/forum/topic.php?fid=58&fpage=96&tid=2040388]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
49ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
74ms |
get tp. blocked users: |
2ms |
| others: | 250ms |
| total: | 416ms |

| 0 / 0 |
