Форум: "Базы";
Текущий архив: 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