Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Выделение строк в DBGrid с помощью ChackBox'ов


Страницы:   1 2

КаПиБаРа ©   (2005-02-03 13:06:00) 

Пользователю нужно отметить в DBGrid некоторые строки для последующих операций с ними.
В голову приходит много всяких способов реализации. Какие провереные способы посоветуете?


Vlad   (2005-02-03 18:36:00) [1]


> Johnmen ©   (03.02.05 18:26) [28]

Я тоже что-то подобное писал. Строк и правда далеко не 5.
Но есть один плюс - не надо скроллировать DataSet чтобы считать ID-шники всех записей которые галками отмечены.


Соловьев   (2005-02-03 18:29:00) [2]


> [27] msguns ©   (03.02.05 18:23)


> [28] Johnmen ©   (03.02.05 18:26)

я напишу в одну строку :)


Johnmen   (2005-02-03 18:26:00) [3]

>msguns ©   (03.02.05 18:23) [27]

В данный момент не лень. Но видится далеко не 5
Может выложишь ? :)


msguns   (2005-02-03 18:23:00) [4]

>Johnmen ©   (03.02.05 17:59) [26]
>Пятью строками не отмажешься...:)

Исполнительных (без деклараций и begin..end) ровно 5 строк. Специально не буду выкладывать, бо тебе просто лень мозгами раскинуть. ;)


Johnmen   (2005-02-03 17:59:00) [5]

>msguns ©   (03.02.05 17:54) [24]

Пятью строками не отмажешься...:)


msguns   (2005-02-03 17:55:00) [6]

Поправка:
Ну да, написать метод добавления/удаления ID в список (5 строк)
и в обработчике клика строку поиска в списке, конечно, намного гормозче, чем делать датасет редактируемым ;))


msguns   (2005-02-03 17:54:00) [7]

>Johnmen ©   (03.02.05 17:08) [23]

Ну да, написать метод добавления/удаления ID в список (5 строк)
в обработчике события строку поиска в списке, конечно, намного гормозче, чем делать датасет редактируемым ;))


Johnmen   (2005-02-03 17:08:00) [8]

>msguns ©   (03.02.05 16:26) [22]

Отвечаю.
Не надо писать доп.кода обслуживания массива/TList/etc, его синхронизации с НД.
Если имеем поле в НД, то для его обслуживания достаточно обработать соотв. онклик. Синхронизация уже есть.


msguns   (2005-02-03 16:26:00) [9]

>Johnmen ©   (03.02.05 16:06) [20]
>И, естественно, я спрашиваю, в чём глупости ?

Естественно, отвечаю: вот в этом
более громоздкийи менее гибкий...

И вот теперь ты мне ответь, в чем твой способ компактнее и гибче. Особенно в свете вот этого:

>Johnmen ©   (03.02.05 16:10) [21]
>Ты их будешь туда загонять. Храниться в НД.
и
>Сделай редактируемым.


Johnmen   (2005-02-03 16:10:00) [10]

>КаПиБаРа ©   (03.02.05 16:05) [19]
>Фиктивное поле для чего?

Для хранения признака выбранности.

>Не понял как в него отмеченные значения попадать будут и где хранится?

Ты их будешь туда загонять. Храниться в НД.

>НД не редактируемый.

Сделай редактируемым.


Johnmen   (2005-02-03 16:06:00) [11]

>msguns ©   (03.02.05 16:02) [18]
>Глупости говоришь, Женя.

И, естественно, я спрашиваю, в чём глупости ?


КаПиБаРа   (2005-02-03 16:05:00) [12]

Johnmen ©   (03.02.05 15:30) [16]
Фиктивное поле для чего? Не понял как в него отмеченные значения попадать будут и где хранится?
НД не редактируемый.


msguns   (2005-02-03 16:02:00) [13]

>КаПиБаРа ©   (03.02.05 15:21) [13]
>Сделал как msguns ©   (03.02.05 14:33) [9] написал, только вместо TList использовал массив.

А у TList есть несколько оч.хороших методов. Например, сортировка ;))

>Johnmen ©   (03.02.05 15:30) [16]
>КаПиБаРа ©   (03.02.05 15:21) [13]
>Такой способ более громоздкий и менее гибкий...

Глупости говоришь, Женя.


Соловьев   (2005-02-03 15:52:00) [14]

2 КаПиБаРа ©
а сходить по ссылке мы не можем? там ражевано и пример выложен. бери не хочу...


Johnmen   (2005-02-03 15:30:00) [15]

>КаПиБаРа ©   (03.02.05 15:21) [13]

Такой способ более громоздкий и менее гибкий...


Sergey13   (2005-02-03 15:22:00) [16]

2[13] КаПиБаРа ©   (03.02.05 15:21)
А-а. ну тогда ясно.


Sergey13   (2005-02-03 15:21:00) [17]

2[12] КаПиБаРа ©   (03.02.05 15:19)
Т.е. ты дал
>Пользователю отметить в DBGrid некоторые строки для последующих операций с ними.
Или пока только галок наставил?


КаПиБаРа   (2005-02-03 15:21:00) [18]

Сделал как msguns ©   (03.02.05 14:33) [9] написал, только вместо TList использовал массив.


КаПиБаРа   (2005-02-03 15:19:00) [19]

Всем спасибо. Обошолся без фиктивного поля просто отобразил колонку не связанную с полем в DBGrid


DSKalugin   (2005-02-03 14:47:00) [20]

Я так понимаю это поле типа Boolean
остается написать свой прорисовщик ячейки


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо