1 (edited by kovalenko 2018-06-14 17:00:50)

Topic: Вопрос по ShowRecord-решено. Вопрос закрыт.

Есть две таблицы (одна Tree) для корректного изменения в Tree основной записи, её надо менять через ShowRecord. Можно как-то в одну форму вытащить на ShowRecord записи для корректного редактирования из двух не связанных таблиц? Можно через две формы

procedure frmDict_Button54_OnClick (Sender: TObject; var Cancel: boolean);
begin
   ShowRecord(frmAddEditTypeTreeService, 'serviceTipeTree', frmDict.ComboBox2.dbItemID);
   ShowRecord(frmtest, 'serviceType', frmDict.ComboBox1.dbItemID);
end;

, но хотелось бы всё делать в одной.

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

Re: Вопрос по ShowRecord-решено. Вопрос закрыт.

Я бы наверное решил так:
Сделал общую форуму на основе первой, открыл ее через showrecord первой формы, и данные из второй формы подтянул через sql. Минус в том, что сохранение только через sql.

Re: Вопрос по ShowRecord-решено. Вопрос закрыт.

Не могли бы вы рассказать подробней о проблеме, т.к. не совсем ясно, какая проблема с редактирование основной записи в Tree, и что имеется ввиду под основной записью?

Dmitry.

Re: Вопрос по ShowRecord-решено. Вопрос закрыт.

DriveSoft wrote:

Не могли бы вы рассказать подробней о проблеме, т.к. не совсем ясно, какая проблема с редактирование основной записи в Tree, и что имеется ввиду под основной записью?

Основная, это главная в дереве. Есть справочник Типов и есть дерево (для удобства сортировки). в дереве основная (первая в структуре) запись, это запись аналогичная записи в справочнике Типов. При изменении записи Типа в справочнике, надо бы менять и основную запись в дереве. Вот как это сделать не используя двух форм? Редактирование основной записи Tree в самой таблице Tree, не самый лучший, в моём понимании, вариант.

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

Re: Вопрос по ShowRecord-решено. Вопрос закрыт.

Что то не пойму суть )


Редактирование в TreeView осуществляется двумя способами, через всплывающее меню, либо через свойство компонента Form, в котором вы можете указать форму, которая будет служить для создания/редактирования записей в TreeView

Dmitry.

Re: Вопрос по ShowRecord-решено. Вопрос закрыт.

DriveSoft wrote:

Что то не пойму суть )


Редактирование в TreeView осуществляется двумя способами, через всплывающее меню, либо через свойство компонента Form, в котором вы можете указать форму, которая будет служить для создания/редактирования записей в TreeView

Здравствуйте Дмитрий. Енто понятно. Попробую в кратце. Есть услуги, они могут быть 1.2.3.4.и т.д Типа, при этом каждая услуга кроме типа, имеет ещё и своё наименование.Хотел сделать таблицу, куда заводить Тип и Наименование услуги, дальше всё это отображать в Tree, но поиск с выводом в Tree на работает. Решил сделать на форме Tree и Gride и под них отдельные таблицы, При создании новой услуги, ей присваивается наименование и тип-сохраняется в своей таблице (по типам наверное сделаю через справочник), и те-же самые Тип и Наименование сохраняются в таблице Tree. На форме в таблице Tree отображается только основная запись, а остальное в соседнем Gridt. Если мне надо изменить Тип услуги, то это изменение должно касаться Типа услуги и таблицы для Gride и таблицы для Tree. Очень хочется производить замену "Одной кнопкой", т.е максимально упростить.

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

Re: Вопрос по ShowRecord-решено. Вопрос закрыт.

kovalenko wrote:
DriveSoft wrote:

Что то не пойму суть )


Редактирование в TreeView осуществляется двумя способами, через всплывающее меню, либо через свойство компонента Form, в котором вы можете указать форму, которая будет служить для создания/редактирования записей в TreeView

Здравствуйте Дмитрий. Енто понятно. Попробую в кратце. Есть услуги, они могут быть 1.2.3.4.и т.д Типа, при этом каждая услуга кроме типа, имеет ещё и своё наименование.Хотел сделать таблицу, куда заводить Тип и Наименование услуги, дальше всё это отображать в Tree, но поиск с выводом в Tree на работает. Решил сделать на форме Tree и Gride и под них отдельные таблицы, При создании новой услуги, ей присваивается наименование и тип-сохраняется в своей таблице (по типам наверное сделаю через справочник), и те-же самые Тип и Наименование сохраняются в таблице Tree. На форме в таблице Tree отображается только основная запись, а остальное в соседнем Gridt. Если мне надо изменить Тип услуги, то это изменение должно касаться Типа услуги и таблицы для Gride и таблицы для Tree. Очень хочется производить замену "Одной кнопкой", т.е максимально упростить.

Вопрос закрыт, разобрался. Кому интересно, материал для изучения

procedure frmDict_Button44_OnClick (Sender: TObject; var Cancel: boolean);
begin
   frmAddEditTypeTreeService.CheckBox2.Checked := True;
end;

procedure frmAddEditTypeTreeService_OnShow (Sender: TObject; Action: string);
begin
     if frmAddEditTypeTreeService.CheckBox2.Checked then
     begin
     frmAddEditTypeTreeService.GroupBox1.Visible := True;
     frmAddEditTypeTreeService.GroupBox2.Visible := False;
     frmAddEditTypeTreeService.ComboBox4.Caption := SQLExecute('SELECT serviseTypeName FROM serviceType WHERE id = ' + IntToStr(frmDict.GrideServiceType.dbItemID));
     frmAddEditTypeTreeService.ComboBox4.DoOnChange;
     end else
     begin
     frmAddEditTypeTreeService.GroupBox1.Visible := False;
     frmAddEditTypeTreeService.GroupBox2.Visible := True;
     frmAddEditTypeTreeService.ComboBox5.Caption := SQLExecute('SELECT serviceName FROM service WHERE id = ' + IntToStr(frmDict.GrideService.dbItemID));
     frmAddEditTypeTreeService.ComboBox5.DoOnChange;
     frmAddEditTypeTreeService.ComboBox6.Caption := frmAddEditTypeTreeService.Edit11.Text;//frmAddEditTypeTreeService.Edit16.Text; //смотрим их в таблице Tree
     frmAddEditTypeTreeService.ComboBox6.DoOnChange;
     frmAddEditTypeTreeService.Edit16.Text := IntToStr (frmAddEditTypeTreeService.ComboBox6.dbItemID);
     end;
end;

procedure frmAddEditTypeTreeService_Edit11_OnChange (Sender: TObject);
begin
   frmAddEditTypeTreeService.Edit12.Text := frmAddEditTypeTreeService.Edit11.Text;
end;

procedure frmAddEditTypeTreeService_Button7_OnClick (Sender: TObject; var Cancel: boolean);
begin
   frmAddEditTypeTreeService.Button8.Click;
end;

procedure frmAddEditTypeTreeService_Button8_OnClick (Sender: TObject; var Cancel: boolean);
begin
   SQLExecute('UPDATE serviceTipeTree SET serviceTipeNameTree = ' + frmAddEditTypeTreeService.Edit12.sqlValue + ' where id ='+inttostr(frmAddEditTypeTreeService.ComboBox4.dbitemid));

end;

procedure frmAddEditTypeTreeService_Edit13_OnChange (Sender: TObject);
begin
   frmAddEditTypeTreeService.Edit14.Text := frmAddEditTypeTreeService.Edit13.Text;
end;

procedure frmAddEditTypeTreeService_Button9_OnClick (Sender: TObject; var Cancel: boolean);
begin
   frmAddEditTypeTreeService.Button10.Click;
end;

procedure frmAddEditTypeTreeService_Button10_OnClick (Sender: TObject; var Cancel: boolean);
begin
   SQLExecute('UPDATE serviceTipeTree SET serviceTipeNameTree = ' + frmAddEditTypeTreeService.Edit14.sqlValue + ' where id ='+inttostr(frmAddEditTypeTreeService.ComboBox5.dbitemid));
   //SQLExecute('UPDATE serviceTipeTree SET ParrentID = ' + frmAddEditTypeTreeService.Edit16.sqlValue + ' where id ='+inttostr(frmAddEditTypeTreeService.ComboBox6.dbitemid));
end;

procedure frmAddEditTypeTreeService_Edit16_OnChange (Sender: TObject);
begin
   if frmAddEditTypeTreeService.Edit16.Text = '-1' then
begin
     frmAddEditTypeTreeService.Edit16.Clear;
  end;
end;

procedure frmAddEditTypeTreeService_OnClose (Sender: TObject; Action: string);
begin
    frmAddEditTypeTreeService.CheckBox2.Checked := False;

    frmDict.TreeViewServiceTipeTree.dbUpdate;
    frmDict.GrideServiceType.dbUpdate;
    frmDict.GrideService.dbUpdate;
end;
надо идти вперёд....