![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| Nic |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 1.6.2004 Репутация: нет Всего: нет |
Помогите уважаемые программисты разобраться в следующей проблеме. Как программно сделать визуальное выделение определенной ячейки таблицы №2, при клике мышью по определенной ячейке таблицы №1.
Исходные данные: на форме две таблицы, в первой - номера строк текстового файла, во второй - содержание этих строк. Обьеденить таблицы в одну не представляется возможным, поскольку одна строка из таблицы №2 может входить несколько раз под разными номерами в таблицу №1. Заранее благодарен за любой ответ. |
|||
|
||||
| Cashey |
|
|||
![]() Бессмертный ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3441 Регистрация: 13.11.2002 Где: в столице Репутация: 2 Всего: 60 |
если речь идет о TTable и привязанным к ним гридам, то наложив на таблицу внешнюю связь (перекрестные ссылки). Если таблица Paradox, то это можно сделать в Database Desktop пункт Referential Integrity
-------------------- библия учит любить ближнего, а камасутра обучает как именно |
|||
|
||||
| Nic |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 1.6.2004 Репутация: нет Всего: нет |
Спасибо! Речь шла о TTable, сейчас попробую.
|
|||
|
||||
| lavish |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 28.5.2004 Репутация: нет Всего: нет |
Не советую делать что-либо вроде Referential Integrity в Database Desktop, потому как при работе с Paradox через BDE время от времени таблица портится, при интенсивной работе (в инете кстати есть куча программок по исправлению таких таблиц). И эти ограничения иногда мешают при исправлении вручную, куда проще завести необходимые индексы и соответствующие ограничения предусмотреть непосредственно в программе, если кроем Вашей проги никто с базой работать не будет то это способ удобнее.
|
|||
|
||||
| Cashey |
|
|||
![]() Бессмертный ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3441 Регистрация: 13.11.2002 Где: в столице Репутация: 2 Всего: 60 |
Согласен, это не очень надежно, но это проще. Раз у автора вопроса такой вопрос возник, то лучше сначало понять, что такое связанные таблицы, а потом, на основе этого опыта прописывать их программно или как-то еще обходить.
-------------------- библия учит любить ближнего, а камасутра обучает как именно |
|||
|
||||
| x77 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1255 Регистрация: 25.3.2002 Репутация: 19 Всего: 22 |
я как-то плохо понял вопрос.... но-моему, это можно сделать либо через Master/Detail, либо динамическим фильтром. А прописывание ссылочной целостности в базе на отображении гридов не скажется никак.
-------------------- Я никогда не сопротивлялся искушению, поскольку узнал: что мне не нравится, то меня не искушает. © Джордж Бернард Шоу (Ирландия) |
|||
|
||||
| Cashey |
|
|||
![]() Бессмертный ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3441 Регистрация: 13.11.2002 Где: в столице Репутация: 2 Всего: 60 |
ну начинается
-------------------- библия учит любить ближнего, а камасутра обучает как именно |
|||
|
||||
| x77 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1255 Регистрация: 25.3.2002 Репутация: 19 Всего: 22 |
блин, у меня здесь десктопа нету
связь устанавливают для соблюдения ссылочной целостности. по сабжу, чтобы во вторую (дочернюю) таблицу нельзя было вставить запись о строке, принадлежащей файлу,которого не существует в первой (родительской) таблице. но готов спорить на пиво, что прописываение foreing keys в DBD никак не скажется на отображении таблиц в гридах. Cashey, ты хочешь сказать, что если взять две TTable, два TDataSource, подключить их к двум TDbGrid, и назначить соотв. физическим таблицам referential integrity, при перемещении курсора по одной таблице он начнёт скакать по второй? этого не будет. я готов спорить на много пива а динамический фильтр - это в Table1.AfterOpen и Table1.AfterScrol прописывание чего-то типа
-------------------- Я никогда не сопротивлялся искушению, поскольку узнал: что мне не нравится, то меня не искушает. © Джордж Бернард Шоу (Ирландия) |
|||
|
||||
| Medved |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 7209 Регистрация: 15.9.2002 Где: Kazakhstan, Astan a Репутация: 14 Всего: 154 |
1. Через TTable.MasterSource (Как? - F1);
2. Через SQL (TQuery); -------------------- |
|||
|
||||
| Nic |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 1.6.2004 Репутация: нет Всего: нет |
Огромное спасибо всем кто принял участие в обсуждении моего вопроса!!! Проблему я решил ссылками, но по ходу решения узнал много нового :-) .
|
|||
|
||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |