синхронизация 2х Гридов

Объекты Pascal, классы Object Pascal, интерфейсы, наследование, инкапсуляция и т.д
Ответить
Ndstar18
Сообщения: 1
Зарегистрирован: 17 сен 2009, 14:58

17 сен 2009, 15:11

Delphi 2006

Есть 2 Таблицы T1 и Т2 и 2 грида g1 - показывает Т1 и g2 - показывает Т2. Количество записей в Т1 и Т2 одинаково. При перемещении стрелочкой по g1 идет синхронизация по базам, т.е. Т2.locate(соотв запись в Т1).

При этом строчки самого грида сдвигаются не синхронно.
Делаю:

TRowGrid = class(TDBGrid)
public
property TopRow;
property Row;
end;

и в DsT1DataChange

TRowGrid(g2).TopRow:=TRowGrid(g1).TopRow;
TRowGrid(g2).Row:=TRowGrid(g1).Row;

Не помогает.
TopRow почему-то всегда=0, хотя грид сдвигает данные.
Row синхронизируется и получается классная картинка, когда уголок в индикаторе показывает на верную текущую запись, а синеньким подсвечивается запись с Row=нужному значению, но Гриды вразнобой.

Подскажите плиз, что я делаю не так?
atavin-ta
Сообщения: 572
Зарегистрирован: 30 янв 2009, 06:38

23 окт 2009, 08:14

Попробуй, вдруг получится:

Код: Выделить всё

g2.TopRow:=g1.TopRow;
g2.Row:=g1.Row;
Вопрос: "Почему вы все сионисты? Нельзя ли писать на чём то другом?".
Ответ: "Писать можно на чём угодно. Но зачем же так себя ограничивать? Пиши на С!".
Ответить