Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как узнать номер активной строки в TQuery? 
:(
    Опции темы
Dayana
Дата 5.10.2003, 18:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 352
Регистрация: 6.10.2002
Где: Тель-Авив

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



x77, идея понятна... А можно ли обработку букмарков засунуть не в отрисовку грида, а в OnCalcFiled квери, и заполнять калькулируемое поле Number?

Это сообщение отредактировал(а) Dayana - 5.10.2003, 18:45
PM MAIL ICQ   Вверх
x77
Дата 5.10.2003, 18:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



нельзя. OnCalc происходит не для какой-то конкретной записи, а для TDataset'а в целом. т.е. тебе понадобится в обработчике пробегать всю квери от первой до последней записи, попутно заполняя Number. я не уверен, что из этого может выйти что-то путное, но тормоза будут дикие однозначно.


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


Эксперт
***


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

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



Fantasist, наследовать от стандартного - ты запаришься smile.gif все бде-шные датасеты работают исключительно через dbi-энжин. она возвращает уже готовую, начитанную квери (hDBICUR). а всё остальное служит для накрутки второстепенного функционала, переопределить же первичный функционал даже наследуясь от TComponent и переписав TDataSet не удасться. в том-то вся пакость: загруз квери происходит не на уровне vcl, а на уровне bde.

в общем, привет smile.gif

Это сообщение отредактировал(а) x77 - 6.10.2003, 04:52


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


Эксперт
***


Профиль
Группа: Участник
Сообщений: 1015
Регистрация: 9.1.2003
Где: Москва

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



Можно сделать FetchAll, и после этого смотреть RecNo. В этом случае в памяти будут все записи запроса, а не только те, которые видно в гриде. Тогда RecNo скакать не должен.


--------------------
С уважением.
Gray.
PM MAIL   Вверх
x77
Дата 6.10.2003, 09:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



попробовал для ib. RecNo = -1.


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


Эксперт
***


Профиль
Группа: Участник
Сообщений: 1015
Регистрация: 9.1.2003
Где: Москва

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



Попробовал, всё работает.


--------------------
С уважением.
Gray.
PM MAIL   Вверх
x77
Дата 6.10.2003, 09:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



если есть возможность, сбрось мне свой экзешник ([email protected])


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


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 352
Регистрация: 6.10.2002
Где: Тель-Авив

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



Привет всем!

Что получилось... Самым подходящим способом, который придумался, оказалось создать в db гриде поле, например Num, и в методе OnDrawColumnCell, с которым приходит TRect, высчитать номер строки...
НО... оказалось все намного проще... Оказалось можно сделать так, на что я расчитывала в самом начале, но в инете не нашла об этом инфы. В Оракле есть такая штука, как ROWNUM, которая возвращает номер строки в результирующем наборе данных... Это же так логично... только я убила 2 дня, чтобы это найти...
PM MAIL ICQ   Вверх
Cashey
Дата 7.10.2003, 12:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



Dayana рад за тебя, тока с RecNo, что так не чего и не получилось?


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


Эксперт
***


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

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



Dayana, зато повеселились smile.gif

Cashey, да глючит он. то, что работает на одних платформах, потом не работает на других, дебильство, лучше не связываться.


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


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 352
Регистрация: 6.10.2002
Где: Тель-Авив

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



Cashey, нет... не работает... да мне все здесь (те, кто давно с Ораклом работает) твердят, что не будет RecNo работать....

x77, ага... очень было весело... :-)
PM MAIL ICQ   Вверх
Страницы: (3) Все 1 2 [3] 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Базы данных и репортинг"
Vit
Петрович

Запрещено:

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

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


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

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

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


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

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


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

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


 




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


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

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