![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Выделение строк в DBGrid с помощью ChackBox'ов
КаПиБаРа © (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
остается написать свой прорисовщик ячейки