![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Строка таблицы - как кнопка [D7, XP]
Student00 © (2007-12-05 21:06:00)Есть БД на делфи
Компоненты:
ADOConnection1 - цепанули к БД Accsess
ADOTable1 - Активировали таблицу
ADOQuery1 - сделали запрос к полю naimen, нашей таблицы
DataSource1 - все подконнектили.
Кроче при запуске программы все выводит в DBGridEh1 правильно.
Но возникла необходимость сделать следующее:
Алгоритм:
1) Выделяешь ( или как лучше это организовать?) некоторое поле из таблицы (DBGridEh1).
2) Жмешь кнопку "Перейти".
3)Происходит переходит на другую форму соответствующую выбранному полю. Но каждое поле будет иметь свою форму!
Т.е. проблема в том: Как сделать так чтобы любая строка таблицы (DBGridEh1) была некоторой ссылокой?
Чтобы срабатывала команда типа form2.show;
Ребята, подскажите пожалуйста.
Германн (2007-12-08 19:40:00) [1]
> Student00 © (08.12.07 17:55) [9]
>
> Ну я так и не понял как реализовать меню=ДБгрид
>
Запись в таблице = пункт меню.
Student00 (2007-12-08 17:55:00) [2]Ну я так и не понял как реализовать меню=ДБгрид
Германн (2007-12-08 17:14:00) [3]
> На первой страницы добавить компонент DBGridEh1 в качестве
> списка-пунктов меню. И посредством ADOConnection1, ADOTable1,
> ADOQuery1, DataSource1 вывести данные и БД в DBGridEh1
> - это мне удалось.
Ну и всё. А зачем ещё и радиокнопки?
Пользователь выбирает строку в DBGrid. Этого достаточно.
Student00 (2007-12-08 17:06:00) [4]Ребят, собственно что мне нужно в итоге?
Создаю Экспертную систему на тему "Выбор бытовой техники".
Алгоритм работы такой:
Пользователь, посредством, меню выбирает варианты ответов на поставленные наводящие вопросы и в итоге получает рекомендацию к покупке того или иного товара.
И ладно бы на пихать Радио кнопок и черезif then elseреализовать механизм.
Но вся проблема в том, что нужно чтобы пользователь мог во время работы программы редактировать вопросы, ответы. Т.е. мне нужно создать админку к экспертке.
Для этого нужно использовать БД. Я создал БД на Microsoft Office Access (к счастью с этим проблем не возникло).
Далее я хотелсделать следующее (поскольку хоть как-то могу сам это реализовать):
На первой страницы добавить компонентDBGridEh1в качестве списка-пунктов меню. И посредствомADOConnection1, ADOTable1, ADOQuery1, DataSource1вывести данные и БД вDBGridEh1- это мне удалось. Следующим шагом планировалодну запись в таблице БД=как пункт меню, но по некоторым причинам отказался от этого.
Решил попытаться создать меню через компонентRadioGroup1.
И вот тут возникли проблемы:
1) В свойствах этого компонента я не нашелDataSourceчерез который бы я смог подконнектится к АDO.
2) Как реализовать динамически добавляемые радио кнопки в зависимости от количества записей в соответствующей таблице в БД.
Тоесть собственно вопрос состоит в том:
Ребята, подскажите, пожалуйста, как сделать так, чтобы при запуске приложения, программа автоматически осуществляла запрос к указанной таблице в БД и динамически создавала радио кнопки в зависимости от количества записей в таблице, т.е. 1 запись = 1 кнопка с соответствующим наименованием.
ПС. Объяснил как смог ))
Германн (2007-12-06 01:17:00) [5]
> Юрий Зотов © (06.12.07 00:54) [4]
>
> С кнопкой получится немного сложнее - придется запоминать
> колонку, по которой щелкнули. А если вместо кнопки использовать
> двойной щелчок, то колонку можно и не запоминать.
>
Автор имхо ещё путается в терминах. Для него "поле" - это строка, по русски "запись".
:)
Юрий Зотов (2007-12-06 01:01:00) [6]> Автор
Так в чем конкретно проблема-то? В запоминании колонки, по которой щелкнули? В определении текущей записи грида (точнее, датасета)? В создании формы? В связывании этой формы с определенной колонкой (полем)? Или еще что-то?
Юрий Зотов (2007-12-06 00:54:00) [7]С кнопкой получится немного сложнее - придется запоминать колонку, по которой щелкнули. А если вместо кнопки использовать двойной щелчок, то колонку можно и не запоминать.
Германн (2007-12-06 00:25:00) [8]
> Student00 © (05.12.07 22:39) [2]
В [1] не вопрос был, а ответ.
Ну а если хочешь всё-таки кнопку, то сделай кнопку. Или что-то не получается?
Student00 (2007-12-05 22:39:00) [9]Два варианта:
1) Обработка двойного щелчка по строкецеликом (или по её началу, вобще по любому месту где это возможно)
--------------------------------------------------------------------
2) На примере. Есть строки:
1_____
2_____
3_____
4_____
<кнопка>
Помечаем (выделяем или еще как) строку 1 жмем "кнопку" открывается форма A- пустая.
или
Помечаем (выделяем или еще как) строку 3 жмем "кнопку" открывается форма Б- пустая.
или
...
Юрий Зотов (2007-12-05 21:12:00) [10]Обработка двойного щелчка по колонке или по ее заголовку?
Имеется в виду - вместо кнопки "перейти".