Форум программистов, компьютерный форум, киберфорум
Наши страницы

Delphi для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.67
terri
8 / 8 / 3
Регистрация: 12.05.2014
Сообщений: 233
#1

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

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

Привет всем. Можно ли сделать так, чтобы таблица была статической на форме делфи, а содержание было динамическим?
Например: Есть кнопка "Продавцы" и при нажатии открывается таблица "Продавцы" и там все написано про продавцов, но есть еще кнопка "Закупщики", которая должна открывать таблицу "Закупщики". Вот меня интересует момент такой:
вместо открытия новой таблица "Закупщики" в старой таблице "Продавцы" должны измениться столбцы под те названия, кот. есть в "Закупщики".
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.05.2014, 18:14
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Есть ли способ сделать так, чтобы таблица была статической на форме, а содержание было динамическим? (Delphi):

Можно ли сделать так, чтобы Panel можно было бы передвигать по форме мышкой? - Delphi
Можно ли сделать так, чтобы Panel можно было бы передвигать по форме мышкой?

Как сделать чтобы таблица была не растянутой? - Delphi
Как сделать чтобы таблица была не растянутой? какой код нужно написать

Как создать другую форму, но чтобы при нажатии кнопки эта форма была не сбоку, тоесть чтобы она была в этой первой форме - Delphi
Как создать другую форму, но чтобы при нажатии кнопки эта форма была не сбоку, тоесть чтобы она была в этой первой форме.. например как при...

Как сделать так, чтобы форма не была за панелью задач? - Delphi
Как сделать так, чтобы форма не была за панелью задач? Использовал свойство WindowState-wsMaximized, чтобы при запуске форма была...

Как сделать так, чтобы компонент RadioGroup нельзя было изменять? - Delphi
как сделать так чтобы компонент RadioGroup нельзя было изменять?

Как сделать так, чтобы определенный edit нельзя было редактировать ? - Delphi
На форме имеется едит в котором автоматически просчитывается цена по формуле, как сделать так, чтобы этот едит нельзя было редактировать,...

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

Не по теме:

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

0
terri
8 / 8 / 3
Регистрация: 12.05.2014
Сообщений: 233
29.05.2014, 22:28  [ТС] #9
[Error] Unit5.pas(117): Incompatible types: 'TDataSet' and 'String'
Почему ошибка?
Delphi
1
sDBGrid1.DataSource.DataSet:='Работники';
0
northener
пофигист широкого профиля
3246 / 2298 / 498
Регистрация: 15.07.2013
Сообщений: 13,554
30.05.2014, 01:55 #10
Цитата Сообщение от terri Посмотреть сообщение
Почему ошибка?
Потому что тут должно быть имя переменной типа TTable, а не имя таблицы в БД.
0
terri
8 / 8 / 3
Регистрация: 12.05.2014
Сообщений: 233
30.05.2014, 02:53  [ТС] #11
В смысле? Как именно написано дожно быть?
0
northener
пофигист широкого профиля
3246 / 2298 / 498
Регистрация: 15.07.2013
Сообщений: 13,554
30.05.2014, 03:06 #12
Цитата Сообщение от terri Посмотреть сообщение
В смысле? Как именно написано дожно быть?
Грамотно быть должно написано.
У тебя сейчас есть хоть какой-то код, который показывает хоть одну таблицу? Если есть покажи. Я скажу что туда нужно добавить или изменить. Иначе я пас.
0
droider
Universal
Эксперт Pascal/Delphi
4382 / 2430 / 519
Регистрация: 04.10.2012
Сообщений: 8,843
30.05.2014, 10:25 #13
terri, достаточно указать DataSource (источник данных)
Delphi
1
DBGrid1.DataSource :=DataSource1;
или
Delphi
1
DBGrid1.DataSource :=DataSource2;
в зависимости от необходимой таблицы, которая в нем указана.


Надеюсь, что связка компонентов у Вас правильная.
0
Пытливый
1379 / 690 / 176
Регистрация: 29.05.2013
Сообщений: 3,084
30.05.2014, 12:50 #14
Вот простенький код, который читает имена таблиц из базы. Заносит их в список и по клику на элемент списка открывает выбранную таблицу:
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 / 3
Регистрация: 12.05.2014
Сообщений: 233
30.05.2014, 16:53  [ТС] #15
Цитата Сообщение от northener Посмотреть сообщение
У тебя сейчас есть хоть какой-то код, который показывает хоть одну таблицу? Если есть покажи. Я скажу что туда нужно добавить или изменить. Иначе я пас.
Я могу показать в скайпе, если можно

Добавлено через 8 минут
Цитата Сообщение от droider Посмотреть сообщение
DBGrid1.DataSource :=DataSource2;
Оно не меняет название столбцов
0
30.05.2014, 16:53
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.05.2014, 16:53
Привет! Вот еще темы с ответами:

Как сделать чтобы контролы типа Button можно было перетаскивать по форме? - Delphi
Пока только начинаю разбираться в Delphi перерыл кучу примеров и уроков но не смог найти подходящих.. Нужно чтобы при зажатой левой...

Сделать так, чтобы в фиксированные поля грида можно было записывать значения - Delphi
Помогите, пожалуйста надо сделать так чтоб в фиксированные поля, можно записывать значения, но где индекс ячейки помечен желтым цветом не...

Сделать так, чтобы выводилось 3 знака после запятой и численное значение В было нормальным - Delphi
Программа выводит в Мемо1 вот это: Можете сделать так, чтобы выводилось 3 знака после запятой и там где численное значение В...

Сделать так, чтобы при выборе одного checkbox'a нельзя было выбрать другой - Delphi
Помогите сделать так, что бы при выборе одного checkbox'a нельзя было выбрать другой. А так же как сделать что бы выбор одного из двух...


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru