| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Базы данных и репортинг > radiobutton & dbedit |
| Автор: Value 16.12.2005, 16:57 |
| как при нажатю на кнопку radiobutton создать dbedit, с подключенным datasource и datafield? или при выделении одной из radiobutton менялся датасурс и датафилд ? Это вообще возможно ? |
| Автор: sexton 16.12.2005, 17:08 | ||
| Думаю вполне можно обойтись вторым вариантом. В обработчике OnClick RadioButton'a достаточно написать что-то вроде:
|
| Автор: Value 16.12.2005, 18:01 |
| ввёл только почему-то сейчас едит не реагирует на нажатие... |
| Автор: sexton 16.12.2005, 18:49 |
| Странно.. у меня все работает... можешь код покажешь? |
| Автор: Value 17.12.2005, 07:21 | ||||
и код на кнопку
мне показывает " Syntax error in SQL expression название растения по латыни '''' " помогите с этим заодно, где тут проблема ? |
| Автор: kulikoff 17.12.2005, 08:34 |
| Если используешь в именах кириллицу, то её надо брать в двойные кавычки, но лучше обойтись без русских букв! И ещё, все названия таблиц и алиасы надо брать в одинарные кавычки!!! |
| Автор: Value 18.12.2005, 15:10 |
| ну двойные кавычки я ввёл, работает kulikoff спасибо, но почему едит не реагирует на нажатие ? |
| Автор: sexton 19.12.2005, 10:11 |
| Я не совсем уверен, но по-моему дело в том, что у тебя DBEdit завязан на результат SELECTа, а такой Dataset не редактируемый... Попробуй в этом случае вместо Query использовать Table с фильтрацией... |
| Автор: Value 19.12.2005, 18:04 |
| говорят что в ADO свойство filter плохо работает |
| Автор: sexton 19.12.2005, 18:28 |
| А, значит все-таки ADO... Тогда все правильно делаешь. Св-во ReadOnly случайно не выставлено? Пример того как именно не реагирует можешь выложить? Потому что я проверял как раз на ADO, все у меня работало... |
| Автор: Value 19.12.2005, 19:30 | ||
| всё исправил, у меня на едите функции onkeypress key:=#0 не взял в begin ... end так как 2 строки было... ещё вопрос на нажатие кнопки
вообщем такая фишка, когда я ввожу в едит искомое слово то происходит прикол с гридом, а именно, radiobutton у меня наставлены на разные поля и при вводе слова при нажатии кнопки введённое слово по заменяет первую запись в гриде (но только по искомому столбцу обозначенному по radiobutton), а остальные записи не меняются. короче и поиск не происходит и в гриде неизвестно что... |
| Автор: sexton 20.12.2005, 10:58 |
| Ну так естественно! DBEdit предназначен как раз для редактирования!!! Если тебе надо поиск, то это совсем по-другому реализовывается - обычным Edit'ом и функциями поисками DataSet. |
| Автор: Value 20.12.2005, 14:19 |
| Ну всё равно ни в какую не хочет искать у меня ничего.... |
| Автор: sexton 20.12.2005, 15:12 |
| Извини, конкретизируй плз, откуда что хочешь искать. А то у меня третий глаз устал |
| Автор: Value 20.12.2005, 15:25 |
| вообщем когда я пишу SQL запрос то у меня не ищет.... добавляю к примеру чтобы сравнивал едит с таблицей : if findedit.text = datamodule2.RastTable.fields.fields[0].asstring then rezisvedform.showmodal; , где rezisvedform это отдельная форма с отдельным гридом и dbimage, в этом случае кнопка не работает.... подскажите код, а то я на грани паники |
| Автор: sexton 20.12.2005, 16:05 | ||
| Думаю, сделать надо так. 1. Для ввода значения для поиска использовать обычный Edit. Для выбора поля - RadioButton (или простой ComboBox) со списком полей (у тебя ведь они все равно по-русски обозваны) 2. Для выборки значений, соответствующих заданным в поиске использовать запрос типа:
3 (опционально). Форму с результатами создавать и удалять динамически. |
| Автор: Value 20.12.2005, 19:04 |
| это ты предлагаешь сделать dll с создаваемой формой или можно по другому ? |
| Автор: sexton 21.12.2005, 10:12 | ||||
Да нет, что ты. Просто При нажатии кнопки форма создается, а при закрытии - уничтожается... Как это в делфях делается посмотри по FAQ-ам... Что-то типа:
|