Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Синронизовать Table и Grid; MyComponents 
V
    Опции темы
IvanVL
Дата 27.2.2006, 08:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



У меня есть 2 проблемы:
1. При передвижении по Grid'у необходимо чтобы в Table курсор оказывался на той же записи (передвигался синхронно).
2. Есть топик в нете http://forum.scibit.com/viewtopic.php?t=468 у меня такая же проблемма, но у меня нет кодов, может кто поможет?
Спасибо!
smile
PM MAIL ICQ   Вверх
Vas
Дата 27.2.2006, 10:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 830
Регистрация: 29.6.2005
Где: Stavropol region

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



Цитата(IvanVL @ 27.2.2006, 08:59 Найти цитируемый пост)
1. При передвижении по Grid'у необходимо чтобы в Table курсор оказывался на той же записи (передвигался синхронно).

А грид какой DBGrid или StringGrid рисуемый ручками?
Если DBGrid, то к DataSource привязываешь свой Table, а к DBGrid этот DataSource и все будет синхронно.

Цитата(IvanVL @ 27.2.2006, 08:59 Найти цитируемый пост)
но у меня нет кодов,

Это как?

А в том топике как я понял проблема с поиском Locate. Синронность здесь ни при чем.


--------------------
И опыт, сын ошибок трудных, И гений, парадоксов друг, И случай, бог изобретатель. ... (А.С. Пушкин)
PM MAIL   Вверх
IvanVL
Дата 27.2.2006, 11:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Я имел ввиду что у меня 2 разные проблеммы!
Я использую MyComponents, это альтернативная компонента для связи с MySQL

Про DBGrid
Я все так и использую, но не получается!

PM MAIL ICQ   Вверх
Vas
Дата 27.2.2006, 11:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 830
Регистрация: 29.6.2005
Где: Stavropol region

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



Цитата(IvanVL @ 27.2.2006, 11:02 Найти цитируемый пост)
Я использую MyComponents, это альтернативная компонента для связи с MySQL

Такого зверя я не видел, поэтому ничего не скажу.

Цитата(IvanVL @ 27.2.2006, 11:02 Найти цитируемый пост)
Я все так и использую, но не получается!

А как ты проверяешь? Может попробовать на onAfterScroll компонента TTable повесить какой-нибудь код для проверки ну типа ShowMessage. Ну и побегать по гриду и посмотреть наступает оно или нет?


--------------------
И опыт, сын ошибок трудных, И гений, парадоксов друг, И случай, бог изобретатель. ... (А.С. Пушкин)
PM MAIL   Вверх
IvanVL
Дата 28.2.2006, 10:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата(Vas @ 27.2.2006, 11:21)
А как ты проверяешь?

хожу по grid и расsmile.. нажимаю Enter smile , вылазеет окно с где я определяю tabel ы как содержимое полей таблицы, и всегда одно и тоже первая запись
PM MAIL ICQ   Вверх
Vas
Дата 28.2.2006, 10:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 830
Регистрация: 29.6.2005
Где: Stavropol region

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



Цитата(IvanVL @ 28.2.2006, 10:12 Найти цитируемый пост)
вылазеет окно с где я определяю tabel ы как содержимое полей таблицы, и всегда одно и тоже первая запись

То бишь у тебя есть таблица (Table1) привязанная к гриду, в ней есть поле с именем привязанной таблицы и еще одно поле с ID из этой таблицы? И ты хочешь чтобы в новой форме, тоже с гридом открылась таблица с именем из Table1 и курсор устанавливался на нужную запись, так?


--------------------
И опыт, сын ошибок трудных, И гений, парадоксов друг, И случай, бог изобретатель. ... (А.С. Пушкин)
PM MAIL   Вверх
IvanVL
Дата 2.3.2006, 02:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



я все напутал(извините), торопился, хожу по grid по Enter вылазеет еще окно, где я определяю label ы(надписи) как содержимое полей таблицы, находящейся на форме первого окне(там где grid), и всегда одно и тоже первая запись.
PM MAIL ICQ   Вверх
IvanVL
Дата 3.3.2006, 09:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



smile
PM MAIL ICQ   Вверх
IvanVL
Дата 10.3.2006, 10:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Люди !!!
Научите уму-разуму smile smile
PM MAIL ICQ   Вверх
Vas
Дата 10.3.2006, 10:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 830
Регистрация: 29.6.2005
Где: Stavropol region

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



Цитата(IvanVL @ 10.3.2006, 10:42 Найти цитируемый пост)
Люди !!!
Научите уму-разуму

Код в студию, где присваиваешь Label'ам значения, просто странное поведение или где-то в вашем коде проблема, или в самих компонентах.
С такими проблемами честно сказать не сталкивался.


--------------------
И опыт, сын ошибок трудных, И гений, парадоксов друг, И случай, бог изобретатель. ... (А.С. Пушкин)
PM MAIL   Вверх
IvanVL
Дата 10.3.2006, 11:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Проверил, и выяснил что когда создаю новое окно, то таблица становиться на 1 запись если showmessage то все хорошо, вот код
В первом окне:
if Sale.ShowModal = 1 then ShowMessage('Ïðîäàë') else ShowMessage('Îòìåíèë')
Во втором окне:
procedure TSale.FormCreate(Sender: TObject);
begin
AvailableQuantity := Form1.NomenclatureTable.FieldValues['Quantity'];
NameGood := Form1.NomenclatureTable.FieldValues['Name'];
NameGoodTx.Caption := Copy(NameGood,0,NameLength);
AvailableQuantityEd.Text := FloatToStr(AvailableQuantity);
end;
Объявление во 2 окне:
NameGoodTx: TLabel;
AvailableQuantityEd: TEdit;

Как быть!
PM MAIL ICQ   Вверх
Vas
Дата 10.3.2006, 11:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 830
Регистрация: 29.6.2005
Где: Stavropol region

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



Цитата(IvanVL @ 10.3.2006, 11:07 Найти цитируемый пост)

Код

if Sale.ShowModal = 1 then ShowMessage('Ïðîäàë') else ShowMessage('Îòìåíèë')

Здесь ShowMessage появится должен после закрытия модального окна, а не при создании smile

А код из FormCreate попробуй перепиши в FormShow или на крайняк сначала сделай inherited:
Код

procedure TSale.FormShow(Sender: TObject);
begin
AvailableQuantityEd.Text := Form1.NomenclatureTable.FieldByName('Quantity').AsString;
//используй обращение к полям по FieldByName надежней будет
NameGoodTx.Caption := Copy(Form1.NomenclatureTable.FieldByName('Name').AsString,0,NameLength);
end;



--------------------
И опыт, сын ошибок трудных, И гений, парадоксов друг, И случай, бог изобретатель. ... (А.С. Пушкин)
PM MAIL   Вверх
Vas
Дата 10.3.2006, 11:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 830
Регистрация: 29.6.2005
Где: Stavropol region

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



Кстати у тебя окно TSale создается на этапе загрузки проги, вот тебе и результат твой FormCreate вызывался один раз когда ты грузил прогу в память и все. Отсюда и показывалась только первая запись.


--------------------
И опыт, сын ошибок трудных, И гений, парадоксов друг, И случай, бог изобретатель. ... (А.С. Пушкин)
PM MAIL   Вверх
IvanVL
Дата 13.3.2006, 03:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата(Vas @ 10.3.2006, 11:18)
Цитата(IvanVL @  10.3.2006,  11:07 Найти цитируемый пост)

Код

if Sale.ShowModal = 1 then ShowMessage('Ïðîäàë') else ShowMessage('Îòìåíèë')

Здесь ShowMessage появится должен после закрытия модального окна, а не при создании smile

А код из FormCreate попробуй перепиши в FormShow или на крайняк сначала сделай inherited:
Код

procedure TSale.FormShow(Sender: TObject);
begin
AvailableQuantityEd.Text := Form1.NomenclatureTable.FieldByName('Quantity').AsString;
//используй обращение к полям по FieldByName надежней будет
NameGoodTx.Caption := Copy(Form1.NomenclatureTable.FieldByName('Name').AsString,0,NameLength);
end;

ShowMessage я использую здесь для себя в последствии заменю на код.
Переместил все в FormShow и все хорошо, спасибо! smile smile smile
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Базы данных и репортинг"
Vit
Петрович

Запрещено:

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

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


Обязательно указание:

1. Базы данных (Paradox, Oracle и т.п.)

2. Способа доступа (ADO, BDE и т.д.)


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

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович.

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


 




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


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

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