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

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

DBGRID Контроль ввода значений. [D7, MSSQL]


Страницы:   1 2

Ciberrus ©   (2008-09-09 09:30:00) 

Доброго времени суток мастера.
Есть вопрос, как получить введенное значение в Dbgrid до сохранения результата. Потому как метод Post наступает сразу после потери фокуса ячейкой. Пробовал в событии BeforePost
не получается. И если не трудно как организовать поиск по DBGrid'у.
Спасибо за внимание.


Anatoly Podgoretsky   (2008-09-09 15:59:00) [1]

> KilkennyCat  (09.09.2008 15:35:21)  [21]

Есть ли жизнь на Марсе, нет ли жизни на Марсе, кому это интересно.


Johnmen   (2008-09-09 15:41:00) [2]


> KilkennyCat ©   (09.09.08 15:35) [21]
> В гриде есть данные.

Коллайдер только завтра запустят...:)


KilkennyCat   (2008-09-09 15:35:00) [3]

В гриде есть данные.


Johnmen   (2008-09-09 14:38:00) [4]


> MsGuns ©   (09.09.08 12:48) [16]
> Всех писателей гридных редакторов - на плаху !;)

А если в крови захлебнёшься?
:)


Anatoly Podgoretsky   (2008-09-09 14:17:00) [5]

> MsGuns  (09.09.2008 12:48:16)  [16]

Деньги не пахнут, поэтому на плаху в данном случае неприменимо.


Германн   (2008-09-09 13:51:00) [6]


> MsGuns ©   (09.09.08 12:48) [16]

Не дождётесь!


Sergey13   (2008-09-09 13:37:00) [7]

> [16] MsGuns ©   (09.09.08 12:48)

Палач! Сатрап!
Если песню запевает молоде-е-е-ж, молоде-е-е-ж, молоде-е-е-ж....
8-)


MsGuns   (2008-09-09 12:48:00) [8]

Всех писателей гридных редакторов - на плаху !
;)


Ega23   (2008-09-09 12:19:00) [9]


> Олег, это конфа "Начинающим". Пусть редактирует в гриде.


Да пусть, кто же спорит. Но это дело с умом надо делать (впрочем, с умом вообще всё надо делать).
Можно форму запихнуть в dll? Можно. Правильно ли это делать? Не знаю, раз можно - пуркуа бы и не па. Стал бы я так делать? Лет 8 назад - скорее всего так бы и сделал (щас подумал - чего уж там "скорее всего" - так и делал.. .:) ). Сейчас - нет.


evvcom   (2008-09-09 12:09:00) [10]

Олег, это конфа "Начинающим". Пусть редактирует в гриде.
В принципе, даже вопрос почти правильно написан. Единственная косячная фраза в вопросе

> как организовать поиск по DBGrid'у

но на нее Sergey13 уже ответил.


Ega23   (2008-09-09 12:06:00) [11]


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


У меня другая статистика. В тех БД, что я сам проектировал, либо с которыми работал, случаев где грид нормально подошёл бы не как средство визуализации НД, а как редактирования - ну десяток наберётся. Ну два. Против тыщи случаев, где это дикий гемор.
Ну а когда общий стиль выработан, есть шаблоны тех же модальных форм в репозитории, все делается по единой схеме - нафига лишнюю энтропию в проект вносить?


Sergey13   (2008-09-09 12:02:00) [12]

> [11] Ega23 ©   (09.09.08 11:57)
> такую редактировать в гриде врагу не пожелаю.

А кто-то заставляет? Я скорее всего тоже не буду. Но случаев, когда "я не буду" по моим наблюдениям в разы меньше, чем тех когда "почему бы и нет".


Ega23   (2008-09-09 11:57:00) [13]


> Да, есть наверное особенности реализации при "гридовом"
> и "отдельноформенном" интерфейсе, но ничего принципиального
> на ум мне не приходит.


Для табличек вида (ID, Name) - действительно пофиг, где отображать.
А вот как начинается справочная таблица вида
ID, Name, StyleID (идентификатор стиля - фонт, цвет, бэкграунд), ImgID (идентификатор иконки сущности), Note (примечание, м.б. больше varchar(255)) - такую редактировать в гриде врагу не пожелаю.
Ну, конечно, когда не тяп-ляп надо сделать, а нормально, со всеми проверками и дураказащитами.

А извечный показ этой технологии дела в книжках (TTable - DataSource - DBGrid)- понятно, откуда ноги растут. От примеров для однопользовательских БД вначале (Delphi 3) и "ну вот так исторически сложилось" позже.
Ну и действительно, для стартапа этого хватает, потом, типа, сам должен до тонкостей доходить.

З.Ы. Я уверен, что ты напишешь такой грид (как я описал). И Коля напишет. И я, наступив себе на горло, таки напишу. А вот автор - не напишет (точнее напишет, но нескоро). И будет очередная поделка, с разными ошибками, начиная от Key Violation и Cannot insert null value и заканчивая дэдлоками на блокировках таблиц в многопользовательских СУБД.


Sergey13   (2008-09-09 11:11:00) [14]

> [9] Ega23 ©   (09.09.08 10:56)

Ну так ты тут как бы сам себе противоречишь. Если ты безоговорочно признаешь, что "в гриде данных нет", и, следовательно, грид это просто средство отображения, то какая разница где отображается датасет? Да, есть наверное особенности реализации при "гридовом" и "отдельноформенном" интерфейсе, но ничего принципиального на ум мне не приходит.


Ega23   (2008-09-09 10:56:00) [15]


> а шо - в гриде таки некошерно редактировать? )


В частых случаях - можно, в целом - таки нет...  :)


> это для ламеров


Если бы ты только знал, насколько ты близок к истине...
Дело в том, что с точки зрения батонокидательства это действительно самый быстрый способ (и в первом приближении более-менее верный).
И его проще всего в "Delphi глазами Хакера" описать, или в какой-нибудь другой Флёново-Архангельской поделке.

А сделать универсальный способ редактирования выборки в гриде - это ты так натрахаешься, что расхочется с этим связываться.
Собственно, один из примеров - непосредственно сабжевый вопрос.


brother   (2008-09-09 10:38:00) [16]

> а шо - в гриде таки некошерно редактировать? )

это для ламеров, вот крутые перцы.....)


clickmaker   (2008-09-09 10:26:00) [17]

> редактироваие в гриде...  :)

а шо - в гриде таки некошерно редактировать? )


Ega23   (2008-09-09 10:14:00) [18]


> данные в гриде


редактироваие в гриде...  :)


Sergey13   (2008-09-09 10:06:00) [19]

> [4] Ciberrus   (09.09.08 09:47)
> перед сохранением обращался к полю и сравнивал его значение,
> если неправильно возврашал фокус, вот только проверка не
> работала.

Слова, слова. Я конечно верю, что у тебя не работало, но сложность в том, что у других то работает.

> [3] Ega23 ©   (09.09.08 09:45)
На предмет чего холиварить то? Есть ли жизнь на М..., тьфу, данные в гриде? 8-)


Ciberrus   (2008-09-09 09:47:00) [20]

Clickmaker спс попробую.
Sergey13 перед сохранением обращался к полю и сравнивал его значение,
если неправильно возврашал фокус, вот только проверка не работала.


Страницы:   1 2

Наверх

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