C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
Cобытие DBGrid, выбрать
Лена
Отправлено: 17.10.2006, 14:00


Мастер участка

Группа: Участник
Сообщений: 501



В гриде есть невидимая колонка ID и одна видимая NAME. При щелчке на видимой строке колонки NAME, мне надо считать значение в глобальную переменную, которое храниться в этой строке в невидимой части колонки ID. Какое событие грида лучше всего подходит для этой задачи считывания значения?
olegenty
Отправлено: 17.10.2006, 14:03


Ветеран

Группа: Модератор
Сообщений: 2412



для этого подойдёт OnClick
Лена
Отправлено: 17.10.2006, 14:11


Мастер участка

Группа: Участник
Сообщений: 501



Такого события нет. Может OnCellClick? Будет ли оно происходит если пользователь щелкнет, например, на самом краю?

Присоединить изображение

Присоединить изображение

olegenty
Отправлено: 17.10.2006, 14:17


Ветеран

Группа: Модератор
Сообщений: 2412



OnMouseDown, а потом считать значение текущей записи проассоциированного НД
Лена
Отправлено: 17.10.2006, 14:51


Мастер участка

Группа: Участник
Сообщений: 501



Cтранно но это событие у меня происходит только при нажати на заголовке колонки грида:
CODE

void __fastcall TForm1::DBGrid8MouseDown(TObject *Sender,
TMouseButton Button, TShiftState Shift, int X, int Y)
{
ParamForSQL1 = DataModule2->ClientDataSetDoors->FieldByName("id")->Value;
ShowMessage("vvvvvvvvv");
}

Причем оно подовляет мое событие OnTitleClick в котором у меня прописана сортировка колокни по возрастанию-убыванию.

Отредактировано Лена — 17.10.2006, 16:07
Лена
Отправлено: 17.10.2006, 15:24


Мастер участка

Группа: Участник
Сообщений: 501



Заработало как надо при использовании OnMouseUp грида. Почему OnMouseDown не работало не понятно. wizard.gif
olegenty
Отправлено: 17.10.2006, 19:30


Ветеран

Группа: Модератор
Сообщений: 2412



Я ориентировался на TDBGridEh — там всё корректно

Вернуться в Работа с базами данных в C++Builder