С Новым годом! Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.62/13: Рейтинг темы: голосов - 13, средняя оценка - 4.62
 Аватар для terri
8 / 8 / 4
Регистрация: 12.05.2014
Сообщений: 233

Есть ли способ сделать так, чтобы таблица была статической на форме, а содержание было динамическим?

28.05.2014, 18:14. Показов 3050. Ответов 40
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Привет всем. Можно ли сделать так, чтобы таблица была статической на форме делфи, а содержание было динамическим?
Например: Есть кнопка "Продавцы" и при нажатии открывается таблица "Продавцы" и там все написано про продавцов, но есть еще кнопка "Закупщики", которая должна открывать таблицу "Закупщики". Вот меня интересует момент такой:
вместо открытия новой таблица "Закупщики" в старой таблице "Продавцы" должны измениться столбцы под те названия, кот. есть в "Закупщики".
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
28.05.2014, 18:14
Ответы с готовыми решениями:

Возможно ли сделать так, чтобы таблица в Excel была связана с таблицей в Аксесе?
А может и нет. Скажите, подалуйста, а возможно ли сделать так, чтобы таблица в Excel была связана с таблицей в Аксесе. Первая таблица...

Как сделать так, чтобы можно было выводить текст в форме
1. Как сделать так, чтобы можно было выводить текст в форме ? Например, как в калькуляторе - ты нажал button и оно вывело цифру, которая...

Есть ли способ сделать так, чтобы ссылки на youtube открывались не в браузере а в VLC ?
https://www.youtube.com/watch?***** большинство линков начинаются на именно так, если их скопировать и вставить в проигрыватель, то он...

40
пофигист широкого профиля
4769 / 3204 / 862
Регистрация: 15.07.2013
Сообщений: 18,609
28.05.2014, 21:05
Цитата Сообщение от terri Посмотреть сообщение
Можно ли сделать так, чтобы таблица была статической на форме делфи, а содержание было динамическим?
Можно. Менять динамически свойство Dataset у компонента TDataSource, к которому привязан компонент TDBGrid (который ты наверно и называешь "статической таблицей на форме").
0
 Аватар для terri
8 / 8 / 4
Регистрация: 12.05.2014
Сообщений: 233
28.05.2014, 22:38  [ТС]
А как это сделать именно?
0
пофигист широкого профиля
4769 / 3204 / 862
Регистрация: 15.07.2013
Сообщений: 18,609
28.05.2014, 23:57
Delphi
1
2
3
DBGrid1.DataSource.DataSet:=Table1;
или
DBGrid1.DataSource.DataSet:=Table2;
0
 Аватар для terri
8 / 8 / 4
Регистрация: 12.05.2014
Сообщений: 233
29.05.2014, 00:29  [ТС]
Мне это прописывать в ту кнопку, где нужно будет вывести нужную мне таблицу в гриде?
0
пофигист широкого профиля
4769 / 3204 / 862
Регистрация: 15.07.2013
Сообщений: 18,609
29.05.2014, 00:34
Цитата Сообщение от terri Посмотреть сообщение
Мне это прописывать в ту кнопку, где нужно будет вывести нужную мне таблицу в гриде?
Да. Только имена компонентов TDBGrid и TTable подставь свои, если они у тебя другие.
0
 Аватар для terri
8 / 8 / 4
Регистрация: 12.05.2014
Сообщений: 233
29.05.2014, 01:03  [ТС]
Спасибо. Завтра попробую
0
29.05.2014, 02:07

Не по теме:

Цитата Сообщение от terri Посмотреть сообщение
Спасибо. Завтра попробую
Приходите завтра (с)
:)

0
 Аватар для terri
8 / 8 / 4
Регистрация: 12.05.2014
Сообщений: 233
29.05.2014, 22:28  [ТС]
[Error] Unit5.pas(117): Incompatible types: 'TDataSet' and 'String'
Почему ошибка?
Delphi
1
sDBGrid1.DataSource.DataSet:='Работники';
0
пофигист широкого профиля
4769 / 3204 / 862
Регистрация: 15.07.2013
Сообщений: 18,609
30.05.2014, 01:55
Цитата Сообщение от terri Посмотреть сообщение
Почему ошибка?
Потому что тут должно быть имя переменной типа TTable, а не имя таблицы в БД.
0
 Аватар для terri
8 / 8 / 4
Регистрация: 12.05.2014
Сообщений: 233
30.05.2014, 02:53  [ТС]
В смысле? Как именно написано дожно быть?
0
пофигист широкого профиля
4769 / 3204 / 862
Регистрация: 15.07.2013
Сообщений: 18,609
30.05.2014, 03:06
Цитата Сообщение от terri Посмотреть сообщение
В смысле? Как именно написано дожно быть?
Грамотно быть должно написано.
У тебя сейчас есть хоть какой-то код, который показывает хоть одну таблицу? Если есть покажи. Я скажу что туда нужно добавить или изменить. Иначе я пас.
0
Эксперт Pascal/Delphi
 Аватар для droider
4882 / 2819 / 862
Регистрация: 04.10.2012
Сообщений: 10,249
30.05.2014, 10:25
terri, достаточно указать DataSource (источник данных)
Delphi
1
DBGrid1.DataSource :=DataSource1;
или
Delphi
1
DBGrid1.DataSource :=DataSource2;
в зависимости от необходимой таблицы, которая в нем указана.


Надеюсь, что связка компонентов у Вас правильная.
0
 Аватар для Пытливый
3763 / 2267 / 705
Регистрация: 29.05.2013
Сообщений: 9,622
30.05.2014, 12:50
Вот простенький код, который читает имена таблиц из базы. Заносит их в список и по клику на элемент списка открывает выбранную таблицу:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
unit Unit24;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, DB, ADODB, Grids, DBGrids, StdCtrls;
 
type
  TForm24 = class(TForm)
    ADOConnection1: TADOConnection;
    DBGrid2: TDBGrid;
    DataSource1: TDataSource;
    ADOTable1: TADOTable;
    ListBox1: TListBox;
    procedure FormCreate(Sender: TObject);
    procedure ListBox1Click(Sender: TObject);
  end;
 
var
  Form24: TForm24;
 
implementation
 
{$R *.dfm}
 
procedure TForm24.FormCreate(Sender: TObject);
begin
 ADOConnection1.Open;
 ADOConnection1.GetTableNames(ListBox1.Items);
end;
 
procedure TForm24.ListBox1Click(Sender: TObject);
begin
 ADOTable1.Close;
 ADOTable1.TableName := ListBox1.Items[ListBox1.ItemIndex];
 ADOTable1.Open;
end;
 
end.
0
 Аватар для terri
8 / 8 / 4
Регистрация: 12.05.2014
Сообщений: 233
30.05.2014, 16:53  [ТС]
Цитата Сообщение от northener Посмотреть сообщение
У тебя сейчас есть хоть какой-то код, который показывает хоть одну таблицу? Если есть покажи. Я скажу что туда нужно добавить или изменить. Иначе я пас.
Я могу показать в скайпе, если можно

Добавлено через 8 минут
Цитата Сообщение от droider Посмотреть сообщение
DBGrid1.DataSource :=DataSource2;
Оно не меняет название столбцов
0
Эксперт Pascal/Delphi
 Аватар для droider
4882 / 2819 / 862
Регистрация: 04.10.2012
Сообщений: 10,249
30.05.2014, 16:56
terri, да, меняется содержимое, а названия колонок в DBGrid Вы должны прописывать программно, при смене датасорса.
0
 Аватар для terri
8 / 8 / 4
Регистрация: 12.05.2014
Сообщений: 233
30.05.2014, 17:29  [ТС]
Вот так делать?
Delphi
1
2
3
With DBGrid1 do begin
Columns[0].Title.Caption := 'Название ячейки/столбца';
Columns[0].FieldName := 'Название в бд';
0
Эксперт Pascal/Delphi
 Аватар для droider
4882 / 2819 / 862
Регистрация: 04.10.2012
Сообщений: 10,249
30.05.2014, 20:02
terri, почти
Delphi
1
2
3
4
5
6
7
With DBGrid1 do begin
DataSource :=DS1; //указываем источник данных
Columns[0].Title.Caption := 'Название_столбца1';
Columns[1].Title.Caption := 'Название_столбца2';
...
// ит.д.
end;
Также
Delphi
1
2
3
4
5
6
7
With DBGrid1 do begin
DataSource :=DS2; //указываем  другой источник данных
Columns[0].Title.Caption := 'Название_столбца1';
Columns[1].Title.Caption := 'Название_столбца2';
...
// ит.д.
end;
1
 Аватар для terri
8 / 8 / 4
Регистрация: 12.05.2014
Сообщений: 233
30.05.2014, 20:24  [ТС]
Благодарствую тебе. Попробую попозже сделать
Вроде работает, но данные из DataSource другого не показываются((
0
Эксперт Pascal/Delphi
 Аватар для droider
4882 / 2819 / 862
Регистрация: 04.10.2012
Сообщений: 10,249
30.05.2014, 20:37
Цитата Сообщение от terri Посмотреть сообщение
данные из DataSource другого не показываются
код?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
30.05.2014, 20:37
Помогаю со студенческими работами здесь

Как сделать так чтобы не надо было создавать заново компоненты на второй форме
Имеется 2 формы. На второй вот такое. -OleDbConnection -OleDbDataAdapter -DataSet -DataGridView На второй форме у меня...

Как сделать так, чтобы у картинки в формате .png не было белого фона на форме
Как сделать так, чтобы у картинки в формате .png не было белого фона на форме(картинка изначально без фона)?Или чтобы она принимала в...

Сделать в пользовательской форме так, чтобы можно было добавлять не один товар, а много
Задача такая, я пишу курсовик. Это типа программа для клиента который пришел в пришел в магазин. У меня есть прайс, сотрудники и тд....

Есть ли способ сделать так, чтобы при подключении к сети, онкомпьютер автоматически передал мне свой ip адрес?
У меня есть компьютер, который в скором времени должны забрать. Есть ли способ сделать так, чтобы когда компьютер подключили к сети, он...

Змейка: Как сделать так, чтобы одни яблоки можно было есть, а вторые нет
void PlusJabloko(Game &g) //Функция разброски яблок { int i,x,y; int n = g.gaduka.PCount; do { x = rand() % 56+3; // ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути
Programma_Boinc 01.01.2026
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути Сочетание глобально распределённой вычислительной мощности и инновационных. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru