![]() |
|
Модераторы: Poseidon |
![]()
|
|
| RN3QGA |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 73 Регистрация: 28.11.2005 Где: Воронежская обл. Репутация: нет Всего: нет |
Здравствуйте!
Вопрос таков. Есть String Grid с занесенными данными. Нужно, что бы по выбору ячейки её данные сравнивались с остальными ячейками таблицы и если есть совпадения, то выделялись цветом. Я решил через событие OnSelectCell, и использовал для сравнения IndexOff. Получилось, что при клике на ячею, если данные совпадают, то к примеру beep если нет, то ничего. Но вот как подкрасить остальные содержащие одинаковую инфу, тут у меня загвоздочка.... Спасибо! |
|||
|
||||
| FRAGNATIC |
|
|||
|
..::Свирепый Кодер::.. ![]() ![]() Профиль Группа: Участник Сообщений: 901 Регистрация: 17.10.2004 Где: ICQ Репутация: нет Всего: 11 |
а подкрашивать надо на OnDrawCell =)
Добавлено @ 03:16
|
|||
|
||||
| RN3QGA |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 73 Регистрация: 28.11.2005 Где: Воронежская обл. Репутация: нет Всего: нет |
Добрый день!
Да, я пробывал по OnDrawCell доже код похожий, получалось только при клике подкрашивать ячейку которая в фокусе, а мне нужно, чтобы все ячейки подкрашивались с одинаковыми значениями. Вот уже второй день пытаюся но, что-то не выходит, если есть какието мысли то будте так добры помогите. Спасибо . |
|||
|
||||
| Демо |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1278 Регистрация: 3.11.2005 Репутация: 2 Всего: 50 |
Так в OnSelectCell создай динамический массив номеров ячеек, который нужно закрасить, а в OnDrawCell проверяй содержимое массива и закрашивай нужные ячейки.
-------------------- |
|||
|
||||
| RN3QGA |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 73 Регистрация: 28.11.2005 Где: Воронежская обл. Репутация: нет Всего: нет |
А, если данные постоянно меняются (изменяется содержимое, удаляются или прибавляются строки???
|
|||
|
||||
| _hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: нет Всего: 98 |
ну так данные ж не сами-по себе меняются. после смены данных пересоздавай тот массив...
-------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
| RN3QGA |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 73 Регистрация: 28.11.2005 Где: Воронежская обл. Репутация: нет Всего: нет |
Да, кажется понял! Сасибо !
|
|||
|
||||
| RN3QGA |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 73 Регистрация: 28.11.2005 Где: Воронежская обл. Репутация: нет Всего: нет |
Нет, видимо "недорос" я еще.
Если можно пример скодом, а то в конец запутался! Спасибо . |
|||
|
||||
| FRAGNATIC |
|
|||
|
..::Свирепый Кодер::.. ![]() ![]() Профиль Группа: Участник Сообщений: 901 Регистрация: 17.10.2004 Где: ICQ Репутация: нет Всего: 11 |
ну тип так
Это сообщение отредактировал(а) FRAGNATIC - 2.12.2005, 15:12 |
|||
|
||||
| RN3QGA |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 73 Регистрация: 28.11.2005 Где: Воронежская обл. Репутация: нет Всего: нет |
Спасибо огромное буду разбираться!
|
|||
|
||||
| RN3QGA |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 73 Регистрация: 28.11.2005 Где: Воронежская обл. Репутация: нет Всего: нет |
Добрый день или ночь.
Ну я в конец запутался с массивами, Уважвемые профессионалы, будте уж так любезны если не затруднит ну пришилите рабочий пример кода если можно, а то никак ... Простите уж... |
|||
|
||||
| FRAGNATIC |
|
|||
|
..::Свирепый Кодер::.. ![]() ![]() Профиль Группа: Участник Сообщений: 901 Регистрация: 17.10.2004 Где: ICQ Репутация: нет Всего: 11 |
RN3QGA
а те как нужно 1 - тока одно выделение тоесть по клику выделяются все ячеки у которых тоже значение что и у той по кторой ты кликнул (тогда покатит
2 - по клику выделяются все ячеки у которых тоже значение что и у той по кторой ты кликнул , но при этом когда кликаешь по другой ячейке выделяются все ячеки у которых тоже значение что и у той по кторой ты кликнул при том что выделения от прошлого клика остаются =) ??? |
|||
|
||||
| RN3QGA |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 73 Регистрация: 28.11.2005 Где: Воронежская обл. Репутация: нет Всего: нет |
Добрый день.
Ну я наверное уже замучил своими как мне кажется уже самому глупыми вопросами. В общем попробую описать поподробней, что мне нужно. У меня в проге Грид который стринг. В него заносятся позывные радиостанция, сохраняются если надо удаляются, редактируются. Так вот хочу ввести режим выборки, то есть кликаем по позывному занесенному в 3-ю колонку независимо от местоположения (ну в начале или в конце талицы) и во всей таблице если есть совпадения - аннологичные подкрашиваются. Я добился, что подкрашивается только та ячейка в которой собственноговоря и кликаю, дальше застрял. И уже не знаю, может както по другому пути пойти, ну например вводить сначала в Едит илитам еще куда нибудь, а потом искать по таблице и сравнивать, но этот вариант не совсем удобен для практического использования при работе. Вот такая ситуация Посоветуйте, подскажите и извините за назойливость, только начинаю , ну думаю должно получиться. Спасибо всем. |
|||
|
||||
| FRAGNATIC |
|
|||
|
..::Свирепый Кодер::.. ![]() ![]() Профиль Группа: Участник Сообщений: 901 Регистрация: 17.10.2004 Где: ICQ Репутация: нет Всего: 11 |
RN3QGA
да уже слышал это и код давал если не работает и не выходит то может код выложишь которым ты пытаешся подкрасить? |
|||
|
||||
| RN3QGA |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 73 Регистрация: 28.11.2005 Где: Воронежская обл. Репутация: нет Всего: нет |
Добрый день ночь или что там уже!
Я мучал , мучал и вот, что придумал, так все работает, но я хотел, что бы по клику на ячее но впрочем вы все уже читали выше ! Посмотрите вам как профи я думаю, тут пояснения не нужны ( сравниваю С ComboBox.Text) var Gr:TGridRect; begin if (Form1.SpeedButton6.Caption='Закончить выборку')AND(Form1.ComboBox4.Text<>'') then if StringGrid1.Cells[Acol,Arow]=Form1.ComboBox4.Text then begin StringGrid1.Canvas.Brush.color :=clGreen ; StringGrid1.Canvas.Font.Color := clWhite ; StringGrid1.Canvas.FillRect(Rect); StringGrid1.canvas.TextOut(Rect.Left,Rect.Top,StringGrid1.Cells[ACol,ARow]); Gr.Left:=2; Gr.Top:=1; Gr.Right:=2; Gr.Bottom:=StringGrid1.RowCount; StringGrid1.Selection:=Gr; end else begin StringGrid1.Canvas.Brush.color := clBlack ; end; |
|||
|
||||
![]()
|
| Правила форума "Центр помощи" | |
|
|
ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Более подробно с правилами данного раздела Вы можете ознакомится в этой теме. Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Poseidon, Rodman |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Центр помощи | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |