Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Вопрос по базам данных

1.1K
04 августа 2003 года
teran
73 / / 15.04.2003
Вопрос такой : есть у меня на форме DBGrid связанный с таблицей TTable, мне надо сделать одну из строчек DBGrid выделенной, как?
293
04 августа 2003 года
SEDEGOFF
586 / / 06.10.2002
В настройках грида есть опция RowSelected
1.1K
04 августа 2003 года
teran
73 / / 15.04.2003
Нет, нужные опции я выставил. Я не знаю как из программы сделать какую-нибудь строчку выделенной.
358
04 августа 2003 года
moonmike
423 / / 18.10.2002
Цитата:
Originally posted by teran
Нет, нужные опции я выставил. Я не знаю как из программы сделать какую-нибудь строчку выделенной.


DBGrid - компонент отображающий состояние набора данных. Потому выделить строчку в DBGrid'e не получится принципиально. Чтобы строчка в DBGrid'e выглядела выделенной(активной) надо перевыести курсор DataSet'а на эту строку.
Смотри:
TDataSet::Next();
TDataSet::First();
TDataSet::Previos();
и далее.

348
05 августа 2003 года
Saris
389 / / 14.03.2003
Цитата:
Originally posted by teran
Нет, нужные опции я выставил. Я не знаю как из программы сделать какую-нибудь строчку выделенной.


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

1.1K
06 августа 2003 года
teran
73 / / 15.04.2003
Цитата:
Originally posted by moonmike

DBGrid - компонент отображающий состояние набора данных. Потому выделить строчку в DBGrid'e не получится принципиально. Чтобы строчка в DBGrid'e выглядела выделенной(активной) надо перевыести курсор DataSet'а на эту строку.
Смотри:
TDataSet::Next();
TDataSet::First();
TDataSet::Previos();
и далее.


TDataSet::Next(),TDataSet::First() и т.д. действительно позиционируют курсор в самой базе, однако DBGrid не считает данную строку (строку на которой в данный момент установлен маркер) выделенной (т.е. DBGrid->SelectedRows->Count равен нулю и массив ссылок на выделенные строки в DBGrid при этом пустой).

3.6K
06 августа 2003 года
Sheridan
37 / / 06.08.2003
А вручную таблицу сваять на основе панелей не пробовал?
358
06 августа 2003 года
moonmike
423 / / 18.10.2002
Цитата:
Originally posted by teran

TDataSet::Next(),TDataSet::First() и т.д. действительно позиционируют курсор в самой базе, однако DBGrid не считает данную строку (строку на которой в данный момент установлен маркер) выделенной (т.е. DBGrid->SelectedRows->Count равен нулю и массив ссылок на выделенные строки в DBGrid при этом пустой).


А если попробовать так:
dbgMyDBGrid->DataSource->DataSet->Next();
dbgMyDBGrid->SelectedRows->CurrentRowSelected = true;
ShowMessage(IntToStr(dbgMyDBGrid->SelectedRows->Count));

3.6K
06 августа 2003 года
Sheridan
37 / / 06.08.2003
Цитата:
Originally posted by moonmike

А если попробовать так:
dbgMyDBGrid->DataSource->DataSet->Next();
dbgMyDBGrid->SelectedRows->CurrentRowSelected = true;
ShowMessage(IntToStr(dbgMyDBGrid->SelectedRows->Count));

Не пройдет. Объект то один и тот-же, через какие стрелки бы ты на него не ссылался. Попробуй ->locate(...)

358
07 августа 2003 года
moonmike
423 / / 18.10.2002
Цитата:
Originally posted by Sheridan
Не пройдет. Объект то один и тот-же, через какие стрелки бы ты на него не ссылался. Попробуй ->locate(...)


Вот эта строка:
dbgMyDBGrid->SelectedRows->CurrentRowSelected = true;
добавляет активную строку Датасета в массив SelectedRows грида.

1.1K
08 августа 2003 года
teran
73 / / 15.04.2003
[QUOTE]Originally posted by moonmike

Вот эта строка:
dbgMyDBGrid->SelectedRows->CurrentRowSelected = true;
добавляет активную строку Датасета в массив SelectedRows грида.
[/QUOT
E]
Огромное спасибо.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог