1 (edited by pha1984 2015-04-25 09:17:45)

Topic: Помогите с комбобоксом!!!!

У меня имеется 1 Memo, 1 Textbox, 1 Кнопка отмена и 1 Кнопка Выбрать код
Кнопка выбрать код вызывает форму frmVibratKod, где имеется 1 комбобокс - группа, 1 комбобокс - подгруппа и 1 таблегрид
Также имеется список зоболеваний который состоит из 3 столбцов (Код операции, подкод операции и название самой операции, напр. К35 - Аппендитсит)
Теперь проблемы:
1. Хотелось бы при вводе кода в поле Textbox название операции и сам код отобразился в поле Мемо если подкода нет, а если есть то должно выйти форма с таблегрид в котором имеются только подкоды этого кода чтобы выбрать нужный подкод.
2. Также есть кнопка Выбрать код которая вызывает форму frmVibratKod в ктором есть 1 комбобокс группа, 1 комбобокс подгруппа и таблегрид в котором будут 3 столбца (Код, подкод и название). Т.е. 1 выбираю код и данные автоматически заполняют Мемо и Textbox

Помогите с реализацией.

PS. Login - Admin, Pass - Admin, все вышесказанное находится в форме NovayaForma, вторая кладка PageControl - Диагнозы и хирургические операции

Post's attachments

Attachment icon Статформа.zip 373.15 kb, 504 downloads since 2015-04-25 

Re: Помогите с комбобоксом!!!!

2. По поводу переноса текста из комбобокса в текстовое поле (или мемо поле) вот скрипт который я взял тут же, на форуме:

procedure payment_ComboBox8_OnChange (Sender: string);
begin
payment.Edit15.Text := payment.ComboBox8.Text; //перенос текста из комбобокса в текстовое поле
end;

это самый простой вариант, я не спец в скриптах пока что.

создаем процедуру для комбобокса (procedure payment_ComboBox8_OnChange (Sender: string); ) и пишем туда скрипт (payment.Edit15.Text := payment.ComboBox8.Text; )

выделенные участки надо изменить в зависимости от названий ваших форм и номеров комбобокса

Re: Помогите с комбобоксом!!!!

Дело в том, что при выборе подгруппы код, подкод и название операции выводятся в таблегрид, и при выборе из таблегрдиа должно переместится в текстовое поле

anchoret wrote:

2. По поводу переноса текста из комбобокса в текстовое поле (или мемо поле) вот скрипт который я взял тут же, на форуме:

procedure payment_ComboBox8_OnChange (Sender: string);
begin
payment.Edit15.Text := payment.ComboBox8.Text; //перенос текста из комбобокса в текстовое поле
end;

это самый простой вариант, я не спец в скриптах пока что.

создаем процедуру для комбобокса (procedure payment_ComboBox8_OnChange (Sender: string); ) и пишем туда скрипт (payment.Edit15.Text := payment.ComboBox8.Text; )

выделенные участки надо изменить в зависимости от названий ваших форм и номеров комбобокса

Re: Помогите с комбобоксом!!!!

pha1984
К сожалению логин Admin и пароль Admin ваш проект не принимает.

Dmitry.

Re: Помогите с комбобоксом!!!!

Я тоже забыл пароль и логин, как можно его исправить?

DriveSoft wrote:

pha1984
К сожалению логин Admin и пароль Admin ваш проект не принимает.

Re: Помогите с комбобоксом!!!!

Login - hasan
passw - admin

Re: Помогите с комбобоксом!!!!

К сожалению не смогу помочь с вашими вопросами, слишком много неясностей.
Я могу помочь вам только с конкретными вопросами.

Dmitry.

Re: Помогите с комбобоксом!!!!

На проекте имеется форма NovayaForma, где во второй вкладке Диагнозы и хирургические операции есть Надпись Заключительный диагноз, справа Memo, Textbox, кнопка Отмена и Выбрать код. Так вот при нажатии Выбрать код открывается форма VibraKod, где имеется 2 комбо, таблица, кнопка выбрать и отмена. У меня есть список диагнозов, которые состоят из категорий и подкатегорий. При выборе категорий и подкатегорий в таблице должны появится соответствующие диагнозы (каждый диагноз имеет свой код). Т.е. в таблице будет 2 колонки: один код а другой сам диагноз. Теперь при выборе диагноза и нажатии кнопки выбрать код должен быть в форме NovayaForma в ранее упомянутом Textbox а диагноз в поле Memo. Как это реализовать.

Re: Помогите с комбобоксом!!!!

Чтобы описать, как это реализовать,мне придется написать инструкцию для вас на двух листах, так как в вашем проекте эта часть функционала полностью не реализована, в т.ч. не созданы таблицы БД для диагнозов, их категорий и под категорий.


Я могу ответить на ваши конкретные вопросы, но я не могу реализовать это за вас.

Dmitry.

Re: Помогите с комбобоксом!!!!

Вы мне просто дайте скрипт который при выборе строки из таблицы выводить их в поле мемо и текстбокс

Re: Помогите с комбобоксом!!!!

procedure Form1_Button6_OnClick (Sender: string; var Cancel: boolean);
begin
    // Выводит в текст бокс содержимое первой колонки выбранной строки в гриде
    Form1.Edit1.Text := Form1.TableGrid1.Cells[0,Form1.TableGrid1.SelectedRow];
    Form1.Memo1.Text := Form1.TableGrid1.Cells[0,Form1.TableGrid1.SelectedRow];
end;
Dmitry.

Re: Помогите с комбобоксом!!!!

Спасибо, там справа от мемо есть кнопка отмена, как сделать чтоб при нажатии стиралась данные в мемо и текстбокс?

Re: Помогите с комбобоксом!!!!

pha1984 wrote:

Спасибо, там справа от мемо есть кнопка отмена, как сделать чтоб при нажатии стиралась данные в мемо и текстбокс?

procedure Form1_Button9_OnClick (Sender: string; var Cancel: boolean);
begin
  Form1.DateTimePicker1.Checked := False;
  Form1.DateTimePicker2.Checked := False;
  Form1.Edit3.Clear;
  Form1.ComboBox1.dbItemID := -1;
  Form1.Button4.Click;  // нажатие кнопки "Поиск"
end;
Не боги горшки лепят!

Re: Помогите с комбобоксом!!!!

Дмитрий, доброго вечера - как всегда с вопросом.  Нашел эту тему, проблема если не та то очень похожа, имеем некоторый связанный список, и при сохранении словаря последней записи в эту же таблицу сохраняем информацию из поля "Мемо"  с детальным описанием (в нашем случае "сорт растения-его описание). Нашел примеры по выводу информации "выбор строки таблицы - определяем Id - выводим информацию в поле "Мемо". Но пример работает отлично если все записи сохр. в одну таблицу а в моем случае при наличии связей получается ерунда приблизительно если выбор по  1 строке тапблицы то id=1  и выбирается "описание" id=1 и .т.д. т.е. как я понимаю необходимо как то узнать для вывода реальнyю  id записи.   Это можно решить без присваивания номера колонки на вывод как описано в данной теме?
Проект на всякий случай прилагаю.

Post's attachments

Attachment icon цитрус 23.11.2015.rar 1.13 mb, 494 downloads since 2015-11-26 

Re: Помогите с комбобоксом!!!!

wertyby
К сожалению я не смог понять вопроса, пожалуйста опишите где именно в вашем проекте проблема. (названия полей, формы, компонентов)

Dmitry.

Re: Помогите с комбобоксом!!!!

Частично проблему решил выводя результат в поле (Form1.memoVivod) прямо из гриба и серы колонку. Не получается виуказанное поле memo вывести результат прямо из таблицы .
Процедура в скрипта самая первая Form1_GridEmployees_OnCellClick.
Как ещё кратко описать даже и не знаю. Я вокруг этой проблемы уже 4 день ходу :-). Вкратце имеем связанный список словарь Категория-Вид-Подвид-Сорт. В поле сорта также сохраняется в таблицу и детальное описание. Это все идёт как словарь для последующей работы. При сохранении пользователем записи через форму frmEmployee все сохраняется вроде бы хорошо' и в грид все выводится правильно. Но при выборе сохраненной записи в гриде позиция Описание сорта должно выводиться в поле memo, и вот тут уже косяк. Выводит для первой записи запись ид 1 из таблицы сорт. И т.д. если запись (описание ) только одна то все  последующие записи (например дубликаты)  при выборе в гриле в поле ()memo) ничего не выводят хотя в таблице значение имеют. Т.е. неверно определяется идентификатор .

Re: Помогите с комбобоксом!!!!

wertyby
в событии Form1_GridEmployees_OnCellClick попробуйте так:

Form1.memoVivod.Text := SQLExecute ('SELECT opisaniesorta FROM myfavoritesort LEFT OUTER JOIN sort ON sort.id=myfavoritesort.id_sort WHERE myfavoritesort.id='+Form1.GridEmployees.sqlValue);
Dmitry.

Re: Помогите с комбобоксом!!!!

А КАК  СКРЫТЬ ПУСТЫЕ МЕСТА В COMBOX ??

Re: Помогите с комбобоксом!!!!

Dima.Bekmametov wrote:

А КАК  СКРЫТЬ ПУСТЫЕ МЕСТА В COMBOX ??

зависит от того, откуда они там взялись )

Dmitry.

Re: Помогите с комбобоксом!!!!

DriveSoft wrote:

wertyby
в событии Form1_GridEmployees_OnCellClick попробуйте так:

Form1.memoVivod.Text := SQLExecute ('SELECT opisaniesorta FROM myfavoritesort LEFT OUTER JOIN sort ON sort.id=myfavoritesort.id_sort WHERE myfavoritesort.id='+Form1.GridEmployees.sqlValue);

Да, Дмитрий спасибо - так работает.