Форум: "Базы";
Текущий архив: 2004.04.25;
Скачать: [xml.tar.bz2];
ВнизВЫзов метода DBGrid1CellClick из любого места программы Найти похожие ветки
← →
Karlson © (2004-03-27 15:46) [0]Добрый день! При клике по ячейке DbGrida вызывается свойство DBGrid1CellClick(Column: TColumn), в некотором месте программы мне нужно обратиться к этому методу, но я не могу передать ему параметр Column - как он передается и что он подразумевает? Заранее спасибо.
← →
Oleon © (2004-03-27 15:59) [1]Из какого места нужно вызвать и используется ли этот параметр тобою при обработке этого события?
Если нет, то попробуй вот так :
DBGrid1CellClick(nil);
← →
Karlson © (2004-03-27 16:03) [2]Мне нужна информация выделенной ячейки после открытия формы, то есть это будет самая первая ячейка в Гриде (столбец только 1)
← →
Oleon © (2004-03-27 16:06) [3]Если бы ты описал, что ты хочешь сделать, то может получится найти какой-нибудь другой вариант решения задачи.
Почему это самая первая ячейка всегда?
← →
Karlson © (2004-03-27 16:15) [4]Как только открывается форма - Гриду передается фокус, поэтому самая первая ячейка становится активной. В зависимости от того, какая ячейка выделена - информация из нее передается едиту. На клик описываю процедуру, а вот на открытие формы тоже нужно: взять инфу из ячейки и передать ее едиту.
← →
KSergey © (2004-03-27 16:27) [5]Информация в DBGrid не живет сама по себе.
Вся она идет из соответствующего DataSet.
А потому достаточно проосто обратитьься к полю DataSet, котороре отображается в той самой первом столбце. Да хоть и так (примерно, дельфи под рукой нет, за корректнности синтаксиса не ручаюсь)
DBGrid1.Columns[0].Field.Value...
Да либо просто к прямо к полю DataSet (я не помню на память нюансы св-ства DBGrid1.Columns и есть ли оно вообще ;)
← →
Karlson © (2004-03-27 16:35) [6]Я понимаю, что можно из DataSet вынуть инфу, но если уже есть метод (DBGrid1CellClick), который ее выгребает, зачем использовать еще что-то? Просто не могу правильно передать параметр Column методу DBGrid1CellClick.
← →
Oleon © (2004-03-27 16:40) [7]Ну передай
DBGrid1CellClick(TDBGRid1.Columns[0])
← →
Karlson © (2004-03-27 16:47) [8]< Ну передай
< DBGrid1CellClick(TDBGRid1.Columns[0])
Не проходит такой фокус...
← →
Oleon © (2004-03-27 17:21) [9]А чего пишет?
← →
Karlson © (2004-03-27 17:27) [10]Ну, во-первых, оно не воспринимает TDBGRid1.Columns[0]- этож класс, как я понимаю, только как отдельный объект идет, то есть без указания Т. И выдает стандартное ругательство project raised exseption class EAccess Violation, ну и дальше знакомый текст про ошибку в таком-то месте памяти и т.д.
← →
Oleon © (2004-03-27 17:31) [11]Ну я хотел сказать напиши :
DBGRid1.Columns[0]
если у тебя есть колонка то все сработает...
← →
Karlson © (2004-03-27 17:41) [12]Все получилось, спасибо! Тема исчерпана :)
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2004.04.25;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.035 c