Модераторы: Poseidon, Snowy, bems, MetalFan

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> как выделить строку в dbgrid 
V
    Опции темы
PaWeLL
Дата 24.4.2010, 21:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Доброго времени суток всем.
Интересует такой вопрос, как выделить определенную строку в dbgrid? Выделить аналогично тому, как она выделяется щелчком мыши.
Да, еще такой нюанс. Если выделяемая строка находится вне зоны видимости, как сделать чтоб dbgrid автоматом перемотался в нужное место?

Это сообщение отредактировал(а) PaWeLL - 24.4.2010, 22:21
PM MAIL   Вверх
former
Дата 24.4.2010, 23:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


MEMS Expert
***


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

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



Цитата(PaWeLL @  24.4.2010,  21:43 Найти цитируемый пост)
Интересует такой вопрос, как выделить определенную строку в dbgrid?

PaWeLL, используй Locate в наборе данных (DataSet и т.п.) для перемещения по записям, а в гриде переход к ней и выделение будет осуществляться автоматически.


--------------------
Достаточно снизить уровень мышления, чтобы иные почувствовали почву под ногами.
PM MAIL   Вверх
PaWeLL
Дата 25.4.2010, 09:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



А можно синтаксис увидеть?  smile 
PM MAIL   Вверх
former
Дата 25.4.2010, 11:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


MEMS Expert
***


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

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



Код

  DataSet.Locate('FieldName','строка поиска',[loCaseInsensitive]);



--------------------
Достаточно снизить уровень мышления, чтобы иные почувствовали почву под ногами.
PM MAIL   Вверх
PaWeLL
Дата 25.4.2010, 11:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Спасибо, теперь указатель в дбгриде перемещается в нужную строку. Вот только как бы сделать так, чтобы строка еще и цветом таким синим выделялась, как если по ней мышкой щелкнуть?

Это сообщение отредактировал(а) PaWeLL - 25.4.2010, 11:28
PM MAIL   Вверх
PaWeLL
Дата 26.4.2010, 15:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Все еще нужна помощь.
PM MAIL   Вверх
former
Дата 26.4.2010, 15:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


MEMS Expert
***


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

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



Цитата(PaWeLL @  25.4.2010,  11:23 Найти цитируемый пост)
Спасибо, теперь указатель в дбгриде перемещается в нужную строку. Вот только как бы сделать так, чтобы строка еще и цветом таким синим выделялась, как если по ней мышкой щелкнуть?

Ты имеешь виду фокус строки? У тебя RowSelect установлено в true?

Это сообщение отредактировал(а) former - 26.4.2010, 15:47


--------------------
Достаточно снизить уровень мышления, чтобы иные почувствовали почву под ногами.
PM MAIL   Вверх
PaWeLL
Дата 26.4.2010, 16:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата(former @ 26.4.2010,  15:45)
Цитата(PaWeLL @  25.4.2010,  11:23 Найти цитируемый пост)
Спасибо, теперь указатель в дбгриде перемещается в нужную строку. Вот только как бы сделать так, чтобы строка еще и цветом таким синим выделялась, как если по ней мышкой щелкнуть?

Ты имеешь виду фокус строки? У тебя RowSelect установлено в true?

Наверное. А где и как это свойство прописывать?  smile 

Это сообщение отредактировал(а) PaWeLL - 26.4.2010, 16:12
PM MAIL   Вверх
Данкинг
Дата 26.4.2010, 17:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

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



Цитата(PaWeLL @  26.4.2010,  17:11 Найти цитируемый пост)
А где и как это свойство прописывать?

В свойствах компонента, видимо.


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
PaWeLL
Дата 28.4.2010, 10:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



В object inspector не нашел такого свойства.
Расскажите нубу, пожалуйста, как и где это прописывать?  smile 
PM MAIL   Вверх
former
Дата 28.4.2010, 10:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


MEMS Expert
***


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

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



Цитата(PaWeLL @  28.4.2010,  10:33 Найти цитируемый пост)
В object inspector не нашел такого свойства.

Да ну!  smile 
user posted image

Это сообщение отредактировал(а) former - 28.4.2010, 11:01


--------------------
Достаточно снизить уровень мышления, чтобы иные почувствовали почву под ногами.
PM MAIL   Вверх
PaWeLL
Дата 28.4.2010, 17:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Спасибо. Каюсь. Не внимателен был.

Еще вопросик есть.
результатом выполнения этой строки
Код

DBGrid9.DataSource.DataSet.Locate('Поле','Содержимое',[loCaseInsensitive]);


является только выделение её цветом.

А как сделать так, чтобы сделать по этой же строке dbgrid cellclick, не кликая мышкой по ней при этом?
PM MAIL   Вверх
former
Дата 28.4.2010, 19:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


MEMS Expert
***


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

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



Цитата(PaWeLL @  28.4.2010,  17:22 Найти цитируемый пост)
А как сделать так, чтобы сделать по этой же строке dbgrid cellclick, не кликая мышкой по ней при этом? 

Вынеси код OnCellClick в отдельную процедуру и вызывай его и в OnCellClick и там где это нужно. Только тогда нужно выполнять проверку наличия записей в наборе данных.
Опиши проблему более подробно. Что в итоге ты хочешь получить? Может есть более рациональное решение. 


--------------------
Достаточно снизить уровень мышления, чтобы иные почувствовали почву под ногами.
PM MAIL   Вверх
Akella
Дата 29.4.2010, 12:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

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



Цитата(PaWeLL @  25.4.2010,  09:56 Найти цитируемый пост)
А можно синтаксис увидеть?  smile  

И у тебя клавиша F1 выламана?
PM MAIL   Вверх
PaWeLL
Дата 6.5.2010, 16:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата(former @ 28.4.2010,  19:42)
Цитата(PaWeLL @  28.4.2010,  17:22 Найти цитируемый пост)
А как сделать так, чтобы сделать по этой же строке dbgrid cellclick, не кликая мышкой по ней при этом? 

Вынеси код OnCellClick в отдельную процедуру и вызывай его и в OnCellClick и там где это нужно. Только тогда нужно выполнять проверку наличия записей в наборе данных.
Опиши проблему более подробно. Что в итоге ты хочешь получить? Может есть более рациональное решение.

Ну вообщем, я хочу сделать по нажатию кнопки переход на предыдущую/следующую запись.

Мне интересно, можно ли как то вставить вместо строки поиска переменную, которая будет определять номер строки, на которую нужно перейти. Я пытался по разному вставить туда переменную вместо конкретного значения, но пока не получилось?

Код

DataSet.Locate('FieldName','строка поиска',[loCaseInsensitive]);


Как это можно сделать?)

Это сообщение отредактировал(а) PaWeLL - 6.5.2010, 16:59
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

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

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

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


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

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


 




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


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

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