| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > Работа с таблицами |
| Автор: Nic 2.6.2004, 10:37 |
| Помогите уважаемые программисты разобраться в следующей проблеме. Как программно сделать визуальное выделение определенной ячейки таблицы №2, при клике мышью по определенной ячейке таблицы №1. Исходные данные: на форме две таблицы, в первой - номера строк текстового файла, во второй - содержание этих строк. Обьеденить таблицы в одну не представляется возможным, поскольку одна строка из таблицы №2 может входить несколько раз под разными номерами в таблицу №1. Заранее благодарен за любой ответ. |
| Автор: Cashey 2.6.2004, 11:45 |
| если речь идет о TTable и привязанным к ним гридам, то наложив на таблицу внешнюю связь (перекрестные ссылки). Если таблица Paradox, то это можно сделать в Database Desktop пункт Referential Integrity |
| Автор: Nic 2.6.2004, 12:28 |
| Спасибо! Речь шла о TTable, сейчас попробую. |
| Автор: lavish 3.6.2004, 09:39 |
| Не советую делать что-либо вроде Referential Integrity в Database Desktop, потому как при работе с Paradox через BDE время от времени таблица портится, при интенсивной работе (в инете кстати есть куча программок по исправлению таких таблиц). И эти ограничения иногда мешают при исправлении вручную, куда проще завести необходимые индексы и соответствующие ограничения предусмотреть непосредственно в программе, если кроем Вашей проги никто с базой работать не будет то это способ удобнее. |
| Автор: Cashey 3.6.2004, 10:26 |
| Согласен, это не очень надежно, но это проще. Раз у автора вопроса такой вопрос возник, то лучше сначало понять, что такое связанные таблицы, а потом, на основе этого опыта прописывать их программно или как-то еще обходить. |
| Автор: x77 3.6.2004, 15:17 |
| я как-то плохо понял вопрос.... но-моему, это можно сделать либо через Master/Detail, либо динамическим фильтром. А прописывание ссылочной целостности в базе на отображении гридов не скажется никак. |
| Автор: Cashey 3.6.2004, 16:14 |
| ну начинается |
| Автор: x77 3.6.2004, 16:34 | ||
| блин, у меня здесь десктопа нету связь устанавливают для соблюдения ссылочной целостности. по сабжу, чтобы во вторую (дочернюю) таблицу нельзя было вставить запись о строке, принадлежащей файлу,которого не существует в первой (родительской) таблице. но готов спорить на пиво, что прописываение foreing keys в DBD никак не скажется на отображении таблиц в гридах. Cashey, ты хочешь сказать, что если взять две TTable, два TDataSource, подключить их к двум TDbGrid, и назначить соотв. физическим таблицам referential integrity, при перемещении курсора по одной таблице он начнёт скакать по второй? этого не будет. я готов спорить на много пива а динамический фильтр - это в Table1.AfterOpen и Table1.AfterScrol прописывание чего-то типа
|
| Автор: Medved 5.6.2004, 21:50 |
| 1. Через TTable.MasterSource (Как? - F1); 2. Через SQL (TQuery); |
| Автор: Nic 7.6.2004, 09:25 |
| Огромное спасибо всем кто принял участие в обсуждении моего вопроса!!! Проблему я решил ссылками, но по ходу решения узнал много нового :-) . |