1 (edited by vojaka 2017-06-27 09:43:00)

Topic: Избавиться от множества форм

Хочется избавиться от множества форм при добавлении данных в справочники. Можно ли сделать так:
Сами данные справочников находятся во вкладках pagecontrol каждый справочник на своей вкладке, при нажатии кнопки добавить новую запись в переменную записываем заголовок активной вкладки, затем оператором Case со значением полученной переменной настраиваем свойства текстового поля (Tablenmae, Fieldname и т.п.) Затем при нажатии кнопки сохранить на этой форме записываем данные из текстового поля в указанную базу. Нажатие кнопки сохранить тоже реализуем через оператор Case, чтобы правильно записывать в нужную таблицу. Проект пока не готов, только в голове.

Начало примерно такое:
var
  sSprav: string;


procedure fAddData_OnShow (Sender: string; Action: string);
begin
    case sSprav of
      'Военный комиссариат':
          begin
              fAddData.edData.TableName:='vk';  <------ Не уверен, что это правильно
              fAddData.edData.FieldName:='vk';   <------ Не уверен, что это правильно

          end;
    end;
end;

procedure fSprav_bNew_OnClick (Sender: string; var Cancel: boolean);
begin
    sSprav:=fSprav.pgSprav.ActivePage.caption;
    fAddData.Show;
    fAddData.Label2.Caption:='Добавляем данные в таблицу '+sSprav;
end;

begin

end.

P.S. Забыл используется пока три формы fMain - главная форма из нее вызывается форма fSprav - справочники (на ней находится pagecontrol) а уже из нее вызывается одна общая форма fAddData при нажатии кнопки сохранить на ней сохраняются данные в базу в нужную таблицу.

Re: Избавиться от множества форм

Будет проще просто задействовать редактирование и добавление данных непосредственно в гриде. Для этого установите свойства грида
Editable > AllowCreate = True
Editable > AllowEdit = True

Dmitry.