![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
У меня есть формы одинакового вида их много. Мне нужно сделать 1 форму с dbgrid. Чтобы при нажатии кнопки, он сам выбирал нужную мне таблицу. Что я сделал. Создал новую форму с dbgrid. На обработчик кнопки прописал
Код:
procedure TForm1.N15Click(Sender: TObject); begin datamodule1.tDform10.tablename:='Оперативная память Samsung'; datamodule1.tDform10.active:=true; form70.show; end; |
|
#2
|
||||
|
||||
|
Цитата:
|
|
#3
|
|||
|
|||
|
Цитата:
|
|
#4
|
||||
|
||||
|
Попробуйте её переименовать ненадолго, напр. в "tmp" и проверьте
З.Ы. К сожалению, не оно - сейчас попробовал у себя табличку длинным русским обозвать - работает, что-то здесь другое З.Ы.З.Ы. Оказалось первой строки не хватает Код:
datamodule1.tDform10.active:= false; ... Последний раз редактировалось Alegun, 15.03.2015 в 22:56. |
| Этот пользователь сказал Спасибо Alegun за это полезное сообщение: | ||
Вовайн (16.03.2015)
| ||
|
#5
|
||||
|
||||
|
Если я правильно понимаю, то задача стоит в открытии опр. таблицы в другой форме?
Тогда делаете так: 1) Создаёте новую форму. 2) В public ветке создаёте function с Именем ViewTable, которая будет принимать потомка TTable, который вы и будете через DataSource отображать в DBGrid В сухом остатке: Код:
procedure TFormMain.Button1Click(Sender: TObject);
begin
with TFormBasicFunc.Create(Application) do
try
// ... не помню как деактивировать таблицу
Table.TableName := 'имя таблицы';
// ... не помню как активировать таблицу
Execute(Table);
finally
Free;
end;
end;А Execute представляет из себя лишь: Код:
public
function TFormBasicFunc.Execute(aTable: TDataSet): boolean;
...
function TFormBasicFunc.Execute(aTable: TDataSet): boolean;
begin
DataSourceTable.DataSet := aTable;
// ... не помню как построить все колонки в DBGrid
Result := ShowModal = mrOk;
end;Таким образом вы ИЗ формы в Форму передаёте информацию через внутренние функции, пользуясь основными принципами ООП. |
|
#6
|
|||
|
|||
|
Цитата:
Код:
procedure TForm1.J1Click(Sender: TObject); begin datamodule1.tDform10.active:= false; datamodule1.t9.tablename:='Оперативная память Kingston'; datamodule1.t9.active:=true; form70.show; end; |
|
#7
|
|||
|
|||
|
Цитата:
|
|
#8
|
||||
|
||||
|
Цитата:
|
| Этот пользователь сказал Спасибо Uniq! за это полезное сообщение: | ||
Вовайн (16.03.2015)
| ||
|
#9
|
||||
|
||||
|
Цитата:
|
|
#10
|
|||
|
|||
|
Цитата:
|
|
#11
|
||||
|
||||
|
Имелось ввиду
Код:
DBGrid1.DataSource:= datamodule1.t9; |
| Этот пользователь сказал Спасибо Alegun за это полезное сообщение: | ||
Вовайн (16.03.2015)
| ||
|
#12
|
|||
|
|||
|
Цитата:
|
|
#13
|
||||
|
||||
|
Цитата:
Код:
DBGrid1.DataSource.DataSet:= datamodule1.t9; |
| Этот пользователь сказал Спасибо Uniq! за это полезное сообщение: | ||
Вовайн (17.03.2015)
| ||
|
#14
|
|||
|
|||
|
Цитата:
![]() |
|
#15
|
||||
|
||||
|
Всё, пошёл перелив из пустого в порожнее, так результата не будет, выкладывайте свои наработки, нужно видеть "в живую"
|
| Этот пользователь сказал Спасибо Alegun за это полезное сообщение: | ||
Вовайн (17.03.2015)
| ||