Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Работа с таблицами, Выделение ячейки таблицы 
:(
    Опции темы
Nic
Дата 2.6.2004, 10:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 1.6.2004

Репутация: нет
Всего: нет



Помогите уважаемые программисты разобраться в следующей проблеме. Как программно сделать визуальное выделение определенной ячейки таблицы №2, при клике мышью по определенной ячейке таблицы №1.
Исходные данные: на форме две таблицы, в первой - номера строк текстового файла, во второй - содержание этих строк. Обьеденить таблицы в одну не представляется возможным, поскольку одна строка из таблицы №2 может входить несколько раз под разными номерами в таблицу №1.
Заранее благодарен за любой ответ.
PM MAIL   Вверх
Cashey
Дата 2.6.2004, 11:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бессмертный
****


Профиль
Группа: Завсегдатай
Сообщений: 3441
Регистрация: 13.11.2002
Где: в столице

Репутация: 2
Всего: 60



если речь идет о TTable и привязанным к ним гридам, то наложив на таблицу внешнюю связь (перекрестные ссылки). Если таблица Paradox, то это можно сделать в Database Desktop пункт Referential Integrity


--------------------
библия учит любить ближнего, а камасутра обучает как именно
PM Jabber   Вверх
Nic
Дата 2.6.2004, 12:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 1.6.2004

Репутация: нет
Всего: нет



Спасибо! Речь шла о TTable, сейчас попробую. smile.gif
PM MAIL   Вверх
lavish
Дата 3.6.2004, 09:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 28.5.2004

Репутация: нет
Всего: нет



Не советую делать что-либо вроде Referential Integrity в Database Desktop, потому как при работе с Paradox через BDE время от времени таблица портится, при интенсивной работе (в инете кстати есть куча программок по исправлению таких таблиц). И эти ограничения иногда мешают при исправлении вручную, куда проще завести необходимые индексы и соответствующие ограничения предусмотреть непосредственно в программе, если кроем Вашей проги никто с базой работать не будет то это способ удобнее.
PM MAIL   Вверх
Cashey
Дата 3.6.2004, 10:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бессмертный
****


Профиль
Группа: Завсегдатай
Сообщений: 3441
Регистрация: 13.11.2002
Где: в столице

Репутация: 2
Всего: 60



Согласен, это не очень надежно, но это проще. Раз у автора вопроса такой вопрос возник, то лучше сначало понять, что такое связанные таблицы, а потом, на основе этого опыта прописывать их программно или как-то еще обходить.


--------------------
библия учит любить ближнего, а камасутра обучает как именно
PM Jabber   Вверх
x77
Дата 3.6.2004, 15:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1255
Регистрация: 25.3.2002

Репутация: 19
Всего: 22



я как-то плохо понял вопрос.... но-моему, это можно сделать либо через Master/Detail, либо динамическим фильтром. А прописывание ссылочной целостности в базе на отображении гридов не скажется никак.


--------------------
Я никогда не сопротивлялся искушению, поскольку узнал: что мне
не нравится, то меня не искушает.
© Джордж Бернард Шоу (Ирландия)
PM MAIL ICQ   Вверх
Cashey
Дата 3.6.2004, 16:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бессмертный
****


Профиль
Группа: Завсегдатай
Сообщений: 3441
Регистрация: 13.11.2002
Где: в столице

Репутация: 2
Всего: 60



ну начинается smile.gif эт как же не скажется? связь для того и устанавливают, что бы при перемещение курсора в одной таблице автоматически он перемещался и во второй. А вот как такого добиться динамическим фильтром я себе плохо представляю smile.gif


--------------------
библия учит любить ближнего, а камасутра обучает как именно
PM Jabber   Вверх
x77
Дата 3.6.2004, 16:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1255
Регистрация: 25.3.2002

Репутация: 19
Всего: 22



блин, у меня здесь десктопа нету smile.gif только дома.

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

но готов спорить на пиво, что прописываение foreing keys в DBD никак не скажется на отображении таблиц в гридах.

Cashey, ты хочешь сказать, что если взять две TTable, два TDataSource, подключить их к двум TDbGrid, и назначить соотв. физическим таблицам referential integrity, при перемещении курсора по одной таблице он начнёт скакать по второй? этого не будет. я готов спорить на много пива smile.gif

а динамический фильтр - это в Table1.AfterOpen и Table1.AfterScrol прописывание чего-то типа
Код

 Table2.Filter := 'MyKeyField=' + Table1MyKeyField.AsString;
 Table2.Filtered := TRUE;



--------------------
Я никогда не сопротивлялся искушению, поскольку узнал: что мне
не нравится, то меня не искушает.
© Джордж Бернард Шоу (Ирландия)
PM MAIL ICQ   Вверх
Medved
Дата 5.6.2004, 21:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 7209
Регистрация: 15.9.2002
Где: Kazakhstan, Astan a

Репутация: 14
Всего: 154



1. Через TTable.MasterSource (Как? - F1);
2. Через SQL (TQuery);



--------------------
http://extreme.sport-express.ru/
...и неважно сколько падал, важно сколько ты вставал...
PM MAIL WWW ICQ Skype GTalk   Вверх
Nic
Дата 7.6.2004, 09:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 1.6.2004

Репутация: нет
Всего: нет



Огромное спасибо всем кто принял участие в обсуждении моего вопроса!!! Проблему я решил ссылками, но по ходу решения узнал много нового :-) .
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0492 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.