Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

ВЫзов метода DBGrid1CellClick из любого места программы [D6, MSSQL]


Karlson ©   (2004-03-27 15:46:00) 

Добрый день! При клике по ячейке DbGrida вызывается свойство DBGrid1CellClick(Column: TColumn), в некотором месте программы мне нужно обратиться к этому методу, но я не могу передать ему параметр Column - как он передается и что он подразумевает? Заранее спасибо.


Karlson   (2004-03-27 17:41:00) [1]

Все получилось, спасибо! Тема исчерпана :)


Oleon   (2004-03-27 17:31:00) [2]

Ну я хотел сказать напиши :

DBGRid1.Columns[0]

если у тебя есть колонка то все сработает...


Karlson   (2004-03-27 17:27:00) [3]

Ну, во-первых, оно не воспринимает TDBGRid1.Columns[0]- этож класс, как я понимаю, только как отдельный объект идет, то есть без указания Т. И выдает стандартное ругательство project raised exseption class EAccess Violation, ну и дальше знакомый текст про ошибку в таком-то месте памяти и т.д.


Oleon   (2004-03-27 17:21:00) [4]

А чего пишет?


Karlson   (2004-03-27 16:47:00) [5]

< Ну передай
< DBGrid1CellClick(TDBGRid1.Columns[0])

Не проходит такой фокус...


Oleon   (2004-03-27 16:40:00) [6]

Ну передай
DBGrid1CellClick(TDBGRid1.Columns[0])


Karlson   (2004-03-27 16:35:00) [7]

Я понимаю, что можно из DataSet вынуть инфу, но если уже есть метод (DBGrid1CellClick), который ее выгребает, зачем использовать еще что-то? Просто не могу правильно передать параметр Column методу DBGrid1CellClick.


KSergey   (2004-03-27 16:27:00) [8]

Информация в DBGrid не живет сама по себе.
Вся она идет из соответствующего DataSet.
А потому достаточно проосто обратитьься к полю DataSet, котороре отображается в той самой первом столбце. Да хоть и так (примерно, дельфи под рукой нет, за корректнности синтаксиса не ручаюсь)

DBGrid1.Columns[0].Field.Value...

Да либо просто к прямо к полю DataSet (я не помню на память нюансы св-ства DBGrid1.Columns и есть ли оно вообще ;)


Karlson   (2004-03-27 16:15:00) [9]

Как только открывается форма - Гриду передается фокус, поэтому самая первая ячейка становится активной. В зависимости от того, какая ячейка выделена - информация из нее передается едиту. На клик описываю процедуру, а вот на открытие формы тоже нужно: взять инфу из ячейки и передать ее едиту.


Oleon   (2004-03-27 16:06:00) [10]

Если бы ты описал, что ты хочешь сделать, то может получится найти какой-нибудь другой вариант решения задачи.

Почему это самая первая ячейка всегда?


Karlson   (2004-03-27 16:03:00) [11]

Мне нужна информация выделенной ячейки после открытия формы, то есть это будет самая первая ячейка в Гриде (столбец только 1)


Oleon   (2004-03-27 15:59:00) [12]

Из какого места нужно вызвать и используется ли этот параметр тобою при обработке этого события?

Если нет, то попробуй вот так :

DBGrid1CellClick(nil);


Наверх

Титульная страница Поиск, карта сайта Написать письмо