Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2008.10.19;
Скачать: [xml.tar.bz2];

Вниз

DBGRID Контроль ввода значений.   Найти похожие ветки 

 
Ciberrus   (2008-09-09 09:30) [0]

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


 
clickmaker ©   (2008-09-09 09:39) [1]

TField.OnValidate, OnSetText


 
Sergey13 ©   (2008-09-09 09:41) [2]

Наверное надо на странице этого форума жирно написать "В гриде НЕТ данных". 8-)

> Пробовал в событии BeforePost не получается.
Как пробовал? Что не получается?

> И если не трудно как организовать поиск по DBGrid"у.
Трудно искать черную кошку...


 
Ega23 ©   (2008-09-09 09:45) [3]

гм... Похоливарить што-ли? Серёг, давай, а?  :)


 
Ciberrus   (2008-09-09 09:47) [4]

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


 
Sergey13 ©   (2008-09-09 10:06) [5]

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

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

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


 
Ega23 ©   (2008-09-09 10:14) [6]


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


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


 
clickmaker ©   (2008-09-09 10:26) [7]

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

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


 
brother ©   (2008-09-09 10:38) [8]

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

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


 
Ega23 ©   (2008-09-09 10:56) [9]


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


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


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


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

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


 
Sergey13 ©   (2008-09-09 11:11) [10]

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

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


 
Ega23 ©   (2008-09-09 11:57) [11]


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


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

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

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


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

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

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


 
Ega23 ©   (2008-09-09 12:06) [13]


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


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


 
evvcom ©   (2008-09-09 12:09) [14]

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

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

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


 
Ega23 ©   (2008-09-09 12:19) [15]


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


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


 
MsGuns ©   (2008-09-09 12:48) [16]

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


 
Sergey13 ©   (2008-09-09 13:37) [17]

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

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


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


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

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


 
Anatoly Podgoretsky ©   (2008-09-09 14:17) [19]

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

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


 
Johnmen ©   (2008-09-09 14:38) [20]


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

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


 
KilkennyCat ©   (2008-09-09 15:35) [21]

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


 
Johnmen ©   (2008-09-09 15:41) [22]


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

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


 
Anatoly Podgoretsky ©   (2008-09-09 15:59) [23]

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

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



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2008.10.19;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.51 MB
Время: 0.006 c
15-1220089316
Kostafey
2008-08-30 13:41
2008.10.19
С днем рождения ! 30 августа


9-1174711886
beginerProger
2007-03-24 07:51
2008.10.19
Проблема с класом движка


15-1219836124
Kent
2008-08-27 15:22
2008.10.19
Visra. Прямая запись на raw диск. Только через драйвер?


4-1198047433
Vladimir
2007-12-19 09:57
2008.10.19
Hook на мышь и клавиатуру только в своем приложении


2-1221222546
savyhinst
2008-09-12 16:29
2008.10.19
Про DLL





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский