Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2004.09.26;
Скачать: [xml.tar.bz2];

Вниз

Вопрос про DBGrid.   Найти похожие ветки 

 
Новичек   (2004-08-25 17:33) [0]

Уважаемые Мастера, поделитесь, пожалуйста, опытом.
Необходимо обработать событие, инициируемое кликом правой кнопки мыши на DBGrid"e. Клик происходит на поле в одной из последних колонок, при этом реакция должна зависеть от содержимого первого поля этой же строки. Возможно ли это?
С уважением, Новичёк.


 
saNat ©   (2004-08-25 17:39) [1]

В DBGrid не помню, а в обычном гриде делал так: определяем ячейку по которой щелкнули - имеем номер строки, по которому обращаемся к первой ячейке данной строки. Ну и строки нумеруются с 0.
С уважением...


 
Flagman ©   (2004-08-25 17:40) [2]

OnMouseDown


 
Новичек   (2004-08-25 17:40) [3]

Сейчас попробую...


 
Ega23 ©   (2004-08-25 17:52) [4]

OnMouseDown + TDBGrid.DataSource.DataSet.FieldByName...


 
Новичек   (2004-08-25 18:02) [5]

Странно...

procedure TMainFrm.DBGrid1MouseDown(Sender: TObject;
 Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
 if ssRight in Shift then
 ShowMessage(DBGrid1.SelectedField.AsString);
end;

Если кликать на поле - не работает, если кликать на пустом месте в гриде - работает :-(


 
Flagman ©   (2004-08-25 18:19) [6]

Проверил у себя - все работает замечательно. Правда у меня DBGridEh исполльзуется - попробуй, отличная штука...


 
Новичек   (2004-08-25 18:31) [7]


> Flagman

Действительно, с DBGridEh работает!
Утерли нос Борланду :-)


 
Vovchik_A ©   (2004-08-25 18:34) [8]

2Новичек   (25.08.04 18:31) [7]
Господи... Нос утереть Борланду вам пока рановато. Любите книгу - источник знаний(с)
И все у вас получится.


 
Ega23 ©   (2004-08-25 18:37) [9]

Ну почему сразу "утёрли"?

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:41) [10]

2Ega23 ©   (25.08.04 18:37) [9]
Олег, да пустое это... Видишь же настрой. Не искать решение, а "дайте мне"


 
Новичек   (2004-08-25 18:44) [11]


> Vovchik_A

Вы, сударь, не правы. Я неделю бьюсь над этим вопросом. Вместо опрометчивых заявлений откройте Delphi и проверьте. Вот тогда станет ясно - у кого какой настрой.


 
Vovchik_A ©   (2004-08-25 18:45) [12]

2Новичек   (25.08.04 18:44) [11]

Если я открою, я видимо, напишу сабжевый вопрос.


 
Ega23 ©   (2004-08-25 18:46) [13]

Олег, да пустое это... Видишь же настрой. Не искать решение, а "дайте мне"

Нет, ну почему-же. Зачем мучиться и изобретать велосипед, когда он уже изобретён? Лично я очень активно использую RX, про EhLib слышал очень много хорошего, а кроме того - эти библиотеки бесплатные и поставляются с исходниками. Почему бы и не воспользоваться?

А по сабжу - я получил AV по приведённому в [5] коду. Подозреваю, что из-за последнего предложения: For example, when an entire row is selected, SelectedField is nil.
Возможно надо с Options у грида поковыряться.


 
Flagman ©   (2004-08-25 18:48) [14]

Если библиотека удобна для работы, мне вообще по барабану - от Борланда она или от какого-нибудь Абу Рассабаха ибн Дауда и кто из них кому нос утер... А EhLib IMHO удобнее...

А насчет "дайте мне" - так это пройдет... По-моему у многих такая фигня поначалу.


 
Новичек   (2004-08-25 18:49) [15]

Мда... С другой стороны, в DBGridEh всё работает. Попробую последовать совету и поковыряться в опциях DBGrid. Уже вроде и не нужно, но любопытно стало :-)


 
Vovchik_A ©   (2004-08-25 18:51) [16]

2Flagman ©   (25.08.04 18:48) [14]
Да я согласен. С Rx-Lib  тоже любил работать.
>А насчет "дайте мне" - так это пройдет...
И тут согласен.


 
Ega23 ©   (2004-08-25 18:52) [17]

...мне вообще по барабану - от Борланда она или от какого-нибудь Абу Рассабаха ибн Дауда ...

А вот это ты зря. Где гарантия, что Абу Рассабах ибн Дауд написал всё правильно, если у тебя нет его исходников? Баги и у Rx были (и есть, кстати), и многие выловлены именно пользователями благодаря наличию исходников.


 
Flagman ©   (2004-08-25 19:02) [18]

...Где гарантия...

Гарантий ес-сно нет, так ведь и у Борландов глюки бывают...
Вспомнить хотя бы пресловутый "EOF&BOF" в ADO...

Только Абу Рассабах ибн Дауд вполне вероятно исходники выложит, а вот Борланд - вряд ли ;)


 
Ega23 ©   (2004-08-25 19:04) [19]

а вот Борланд - вряд ли ;)

Ты хочешь сказать, что у тебя нет исходников, например, TEdit?


 
Flagman ©   (2004-08-25 19:20) [20]

;) Согласен, насчет исходников погорячился... Но тем не менее, глюки бывают у всех... То-есть, в смысле наличия глюков Borland от Абу Рассабаха ибн Дауда может отличаться только процентом этих самых глюков. Да и, в принципе, пока продукт отлаживаешь, на основную массу глюков наткнешься... А там, хочешь сам правь, хочешь разработчику пиши... ;)


 
Ega23 ©   (2004-08-25 19:23) [21]

Flagman ©   (25.08.04 19:20) [20]

К примеру: из-за специфики нашей системы, сторонние вещи (компоненты, библиотеки, ActiveX и т.п.) могут использоваться ТОЛЬКО при наличии исходников.



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2004.09.26;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.49 MB
Время: 0.037 c
14-1094542630
Lex
2004-09-07 11:37
2004.09.26
Есть ли тут кто из Томска?


3-1093850711
ydv
2004-08-30 11:25
2004.09.26
глюки PReport


3-1093497640
VS2002
2004-08-26 09:20
2004.09.26
TCP-порт для соединения клиента с сервером


14-1093947919
Труп Васи Доброго
2004-08-31 14:25
2004.09.26
Как работать с TIBUpdateSQL?


8-1088624004
Gorilka
2004-06-30 23:33
2004.09.26
Из *.mid в *.mp3 или *.cda





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский