![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Вопрос про DBGrid. [D7]
Новичек © (2004-08-25 17:33:00)Уважаемые Мастера, поделитесь, пожалуйста, опытом.
Необходимо обработать событие, инициируемое кликом правой кнопки мыши на DBGrid'e. Клик происходит на поле в одной из последних колонок, при этом реакция должна зависеть от содержимого первого поля этой же строки. Возможно ли это?
С уважением, Новичёк.
Ega23 (2004-08-25 19:23:00) [1]Flagman © (25.08.04 19:20) [20]
К примеру: из-за специфики нашей системы, сторонние вещи (компоненты, библиотеки, ActiveX и т.п.) могут использоваться ТОЛЬКО при наличии исходников.
Flagman (2004-08-25 19:20:00) [2];) Согласен, насчет исходников погорячился... Но тем не менее, глюки бывают у всех... То-есть, в смысле наличия глюков Borland от Абу Рассабаха ибн Дауда может отличаться только процентом этих самых глюков. Да и, в принципе, пока продукт отлаживаешь, на основную массу глюков наткнешься... А там, хочешь сам правь, хочешь разработчику пиши... ;)
Ega23 (2004-08-25 19:04:00) [3]а вот Борланд - вряд ли ;)
Ты хочешь сказать, что у тебя нет исходников, например, TEdit?
Flagman (2004-08-25 19:02:00) [4]...Где гарантия...
Гарантий ес-сно нет, так ведь и у Борландов глюки бывают...
Вспомнить хотя бы пресловутый "EOF&BOF" в ADO...
Только Абу Рассабах ибн Дауд вполне вероятно исходники выложит, а вот Борланд - вряд ли ;)
Ega23 (2004-08-25 18:52:00) [5]...мне вообще по барабану - от Борланда она или от какого-нибудь Абу Рассабаха ибн Дауда ...
А вот это ты зря. Где гарантия, что Абу Рассабах ибн Дауд написал всё правильно, если у тебя нет его исходников? Баги и у Rx были (и есть, кстати), и многие выловлены именно пользователями благодаря наличию исходников.
Vovchik_A (2004-08-25 18:51:00) [6]2Flagman © (25.08.04 18:48) [14]
Да я согласен. С Rx-Lib тоже любил работать.
>А насчет "дайте мне" - так это пройдет...
И тут согласен.
Новичек (2004-08-25 18:49:00) [7]Мда... С другой стороны, в DBGridEh всё работает. Попробую последовать совету и поковыряться в опциях DBGrid. Уже вроде и не нужно, но любопытно стало :-)
Flagman (2004-08-25 18:48:00) [8]Если библиотека удобна для работы, мне вообще по барабану - от Борланда она или от какого-нибудь Абу Рассабаха ибн Дауда и кто из них кому нос утер... А EhLib IMHO удобнее...
А насчет "дайте мне" - так это пройдет... По-моему у многих такая фигня поначалу.
Ega23 (2004-08-25 18:46:00) [9]Олег, да пустое это... Видишь же настрой. Не искать решение, а "дайте мне"
Нет, ну почему-же. Зачем мучиться и изобретать велосипед, когда он уже изобретён? Лично я очень активно использую RX, про EhLib слышал очень много хорошего, а кроме того - эти библиотеки бесплатные и поставляются с исходниками. Почему бы и не воспользоваться?
А по сабжу - я получил AV по приведённому в [5] коду. Подозреваю, что из-за последнего предложения:For example, when an entire row is selected, SelectedField is nil.
Возможно надо с Options у грида поковыряться.
Vovchik_A (2004-08-25 18:45:00) [10]2Новичек (25.08.04 18:44) [11]
Если я открою, я видимо, напишу сабжевый вопрос.
Новичек (2004-08-25 18:44:00) [11]
> Vovchik_A
Вы, сударь, не правы. Я неделю бьюсь над этим вопросом. Вместо опрометчивых заявлений откройте Delphi и проверьте. Вот тогда станет ясно - у кого какой настрой.
Vovchik_A (2004-08-25 18:41:00) [12]2Ega23 © (25.08.04 18:37) [9]
Олег, да пустое это... Видишь же настрой. Не искать решение, а "дайте мне"
Ega23 (2004-08-25 18:37:00) [13]Ну почему сразу "утёрли"?
Set SelectedField to move focus to a particular field in the grid. Read SelectedField to obtain access to the field component for the currently selected cell. If there is not currently selected cell, SelectedField is nil. For example, when an entire row is selected, SelectedField is nil.
Vovchik_A (2004-08-25 18:34:00) [14]2Новичек (25.08.04 18:31) [7]
Господи... Нос утереть Борланду вам пока рановато. Любите книгу - источник знаний(с)
И все у вас получится.
Новичек (2004-08-25 18:31:00) [15]
> Flagman
Действительно, с DBGridEh работает!
Утерли нос Борланду :-)
Flagman (2004-08-25 18:19:00) [16]Проверил у себя - все работает замечательно. Правда у меня DBGridEh исполльзуется - попробуй, отличная штука...
Новичек (2004-08-25 18:02:00) [17]Странно...
procedure TMainFrm.DBGrid1MouseDown(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
if ssRight in Shift then
ShowMessage(DBGrid1.SelectedField.AsString);
end;
Если кликать на поле - не работает, если кликать на пустом месте в гриде - работает :-(
Ega23 (2004-08-25 17:52:00) [18]OnMouseDown + TDBGrid.DataSource.DataSet.FieldByName...
Новичек (2004-08-25 17:40:00) [19]Сейчас попробую...
Flagman (2004-08-25 17:40:00) [20]OnMouseDown