Форум программистов, компьютерный форум, киберфорум
Delphi: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/9: Рейтинг темы: голосов - 9, средняя оценка - 4.56
20 / 20 / 2
Регистрация: 26.01.2010
Сообщений: 106

Синхронизированное отображение данных в двух dbgrid-ах

23.02.2011, 10:55. Показов 1860. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем доброго времени суток! Вопрос такой: есть бд, созданная в access. База состоит из двух таблиц:Customer и Account, которые отображаются на двух dbgrid-ах. В первой таблице перечисляются клиенты, во второй их аккаунты. Как сделать так, чтобы при наведении курсора мыши на имя клиента в первом dbgrid-е, во втором отображались данные из второй таблицы только для этого клиента?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
23.02.2011, 10:55
Ответы с готовыми решениями:

Отображение данных в DBGrid из двух и более TpFIBDataSet'ов
Доброго времени суток =) вопрос такой.. как можно отобразить в DBGrid данные из двух и более TpFIBDataSet'ов. допустим есть две...

Отображение данных в DBGrid
привет всем. подскажите пожалуйста. почему когда в делфи создаю связь между таблицами(access), то в таблице не все данные отображаются,...

Отображение данных в DBGrid
Как сделать подстановку в DBGrid(Рис.3 это то что мне нужно), чтоб отображалось не idZakaz (поле "заказчик") и idOtvet(поле...

8
Почетный модератор
 Аватар для Lord_Voodoo
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
23.02.2011, 11:39
pir, фильтрами можно, можно настроить зависимость между источниками данных, можно с помощью запросов... попользуйтесь местным поиском, тут уже не раз такие проблемы рассматривались
1
20 / 20 / 2
Регистрация: 26.01.2010
Сообщений: 106
23.02.2011, 15:42  [ТС]
LordVoodoo, извините за глупый вопрос, но фильтры какого компонента Вы имеете ввиду?
0
1263 / 706 / 62
Регистрация: 21.12.2009
Сообщений: 2,256
23.02.2011, 17:57
Цитата Сообщение от pir Посмотреть сообщение
но фильтры какого компонента Вы имеете ввиду
У объектов типа TDataSet или у наследников есть свойство Filtered. Использование этого свойства и имел ввиду Lord_VooDoo
Это свойство удобно использовать вместе с обработчиком события OnFilterRecord, в котором задается условие фильтрации. Можно также использовать свойство Filter, но я не рекомендую это делать.
И, наконец, Lord_VooDoo Вам намекнул, что фильтрацию можно делать в запросе, формирующем набор данных. Для этого обычно исполдьзуется предикат WHERE в запросе SELECT
1
20 / 20 / 2
Регистрация: 26.01.2010
Сообщений: 106
23.02.2011, 20:58  [ТС]
Народ, помогите кодом кто сможет. весь вечер убил и никак не пойму как использовать OnFilterRecord для моей конкретной задачи:
Цитата Сообщение от pir Посмотреть сообщение
Вопрос такой: есть бд, созданная в access. База состоит из двух таблиц:Customer и Account, которые отображаются на двух dbgrid-ах. В первой таблице перечисляются клиенты, во второй их аккаунты. Как сделать так, чтобы при наведении курсора мыши на имя клиента в первом dbgrid-е, во втором отображались данные из второй таблицы только для этого клиента?
0
 Аватар для sanya0107
126 / 126 / 24
Регистрация: 14.02.2010
Сообщений: 289
23.02.2011, 21:36
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
procedure TForm1.IBTable1FilterRecord(DataSet: TDataSet;
  var Accept: Boolean);
begin
if  DataSet.FieldByName('STREETCD').Value= 3 then Accept:=true // строка отображается 
 else Accept:=False;  // строка скрыта
 
end;
 
procedure TForm1.Button1Click(Sender: TObject);
begin
IBTable1.Filtered:=true;
end;
вот примитивный пример!
1
20 / 20 / 2
Регистрация: 26.01.2010
Сообщений: 106
23.02.2011, 22:14  [ТС]
Цитата Сообщение от sanya0107 Посмотреть сообщение
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
procedure TForm1.IBTable1FilterRecord(DataSet: TDataSet;
  var Accept: Boolean);
begin
if  DataSet.FieldByName('STREETCD').Value= 3 then Accept:=true // строка отображается 
 else Accept:=False;  // строка скрыта
 
end;
 
procedure TForm1.Button1Click(Sender: TObject);
begin
IBTable1.Filtered:=true;
end;
вот примитивный пример!
sanya0107подобные , спасибо, но подобные примеры я находил, я не могу понять как реализовать механизм фильтрации в одном dbgrid-е при условии наведения курсора мыши на определенную запись во втором dbgride

Добавлено через 1 минуту
Цитата Сообщение от sanya0107 Посмотреть сообщение
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
procedure TForm1.IBTable1FilterRecord(DataSet: TDataSet;
  var Accept: Boolean);
begin
if  DataSet.FieldByName('STREETCD').Value= 3 then Accept:=true // строка отображается 
 else Accept:=False;  // строка скрыта
 
end;
 
procedure TForm1.Button1Click(Sender: TObject);
begin
IBTable1.Filtered:=true;
end;
вот примитивный пример!
sanya0107, спасибо, но подобные примеры я находил, я не могу понять как реализовать механизм фильтрации в одном dbgrid-е при условии наведения курсора мыши на определенную запись во втором dbgride
0
 Аватар для sanya0107
126 / 126 / 24
Регистрация: 14.02.2010
Сообщений: 289
23.02.2011, 22:22
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
var
  Form1: TForm1;
  s:Variant;
 
implementation
 
{$R *.dfm}
 
procedure TForm1.DBGrid1CellClick(Column: TColumn);
begin
s:=IBTable1.FieldValues['STREETCD'];
IBTable1.Filtered:=true;
 
end;
 
procedure TForm1.IBTable1FilterRecord(DataSet: TDataSet;
  var Accept: Boolean);
begin
if DataSet.FieldByName('STREETCD').Value=s then Accept:=true
 else Accept:=false;
end;
вот так можно!
0
Почетный модератор
 Аватар для Lord_Voodoo
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
23.02.2011, 23:35
pir,
Цитата Сообщение от pir Посмотреть сообщение
но фильтры какого компонента Вы имеете ввиду?
в дбгридах большая часть операций происходит с источниками данных, т.к. дбгрид в сущности только данные отображает, а все манипуляции происходят с источниками данными, которые вы указываете в TDataSource
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
23.02.2011, 23:35
Помогаю со студенческими работами здесь

Отображение данных в DBGrid
Подскажите, пожалуйста, есть ли "человеческий" способ устранить такое неудобство? Есть форма на которой размещен DBGrid. При создании...

DBGrid отображение данных
Привет всем . Подскажите пожалуйста как сделать в DBGrid чтоб отображалась полностью таблица а не по частям, чтоб ее не мотать.

Отображение данных в DBGrid
Всем привет! Небольшая проблема в следующем: Есть две формы. На одной DBGrid, отображающий данные таблицы в БД, IBQuery, DataSource. ...

Отображение данных DBGrid
procedure TDataOutput.Execute; begin inherited; Synchronize(UpdateDBGrid); DataOutput.FreeOnTerminate := true; end; ...

Отображение данных в DBGrid
Здравствуйте, у меня есть программа, к ней подключена база данных (SQL). В одной таблице я заношу покупателей, в другой оформляю покупку....


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Программный контроль заполнения реквизита табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать контроль заполнения реквизита "ПричинаСписания". . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Программное заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru