1 (edited by kovalenko 2017-06-29 07:57:47)

Topic: Отображение/доступность значений в ComboBox. Решено.Всем спасибо.

Здравствуйте. Вопрос следующий. Есть таблица/справочник "А" где хранятся значения ComboBox1, эти значения предположим 1 2 3 4 5 6 7 8 9. Есть форма ввода данных которые сохраняются в таблице" Б". На этой форме есть ComboBox1. Есть связь таблицы/справочника "А" с "Б". При заполнении формы я могу выбирать значения в ComboBox1, но надо сделать так, что-бы при отсутствии выбора CheckBox(он тоже есть на форме ввода данных) в ComboBox1 можно было выбирать любое значение от 1-9 кроме 7. Как только мы выбираем CheckBox, то становиться возможным выбор и значения 7, т.е все значения от 1-9.
Заранее благодарен за помощь.

надо идти вперёд....

Re: Отображение/доступность значений в ComboBox. Решено.Всем спасибо.

kovalenko wrote:

Здравствуйте. Вопрос следующий. Есть таблица/справочник "А" где хранятся значения ComboBox1, эти значения предположим 1 2 3 4 5 6 7 8 9. Есть форма ввода данных которые сохраняются в таблице" Б". На этой форме есть ComboBox1. Есть связь таблицы/справочника "А" с "Б". При заполнении формы я могу выбирать значения в ComboBox1, но надо сделать так, что-бы при отсутствии выбора CheckBox(он тоже есть на форме ввода данных) в ComboBox1 можно было выбирать любое значение от 1-9 кроме 7. Как только мы выбираем CheckBox, то становиться возможным выбор и значения 7, т.е все значения от 1-9.
Заранее благодарен за помощь.

Пробую так:
procedure frmApplication_CheckBox1_OnClick (Sender: string); // действие по галочке ВЫДАНО
begin
      if frmApplication.CheckBox1.Checked then
   begin
   frmApplication.cdRepStatus.dbFilter := '(repairstatus = "Согласовано") or (repairstatus = "В работе") ';
   UpdateDatabase('repairstatus');
      end else
   begin
   frmApplication.cdRepStatus.dbFilter := '(repairstatus = "Принято") or (repairstatus = "На согласовании") ';
    end;
end;

Не срабатывает. Что я делаю не так?

надо идти вперёд....

Re: Отображение/доступность значений в ComboBox. Решено.Всем спасибо.

Здравствуйте.



Пример

procedure Form1_CheckBox1_OnClick (Sender: string);
begin
    if Form1.CheckBox1.Checked then
    begin
        Form1.ComboBox1.dbFilter := '(id<>1) and  (id<>3)';
        Form1.ComboBox1.dbUpdate;
    end else
    begin
        Form1.ComboBox1.dbFilter := '';
        Form1.ComboBox1.dbUpdate;
    end;
end;
Dmitry.

Re: Отображение/доступность значений в ComboBox. Решено.Всем спасибо.

Спасибо!!! Ваше решение поизящнее, адаптирую к себе.

надо идти вперёд....