|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Ошибка при программном клике по dbgrid. Прошу помощи
Код на событии OnCellClick компонента dbgrid рабочий 100%. Там просто идет обращение к записям в строке. Да и когда мышкой кликаешь все хорошо - ошибок нет. Но наступает беда когда я хочу сделать тоже самое программно то есть вызвать событие OnCellClick. Вызываю так: DBGrid1CellClick(DBGrid1.Columns.Items[TStringGrid(DBGrid1).Row]). Что собственно интересно. У меня в проекте много форм и столько же таблиц но выдает ошибку только на одной таблице. Еще заметил что ошибка вылетает всегда только после 5 строчки в dbgrid(поясню: допустим ошибка на 6 строке так вот если с помощью фильтра поднять ее в первые пять ошибки на ней не будет). Собственно ошибка: list index out of bounds(n) - где n номер строки. ADOTable , DataSouce , бд Access. Сломал себе уже голову помогите пожалуйста.
|
#2
|
|||
|
|||
Надо смотреть код. Явно у тебя что-то не так установлено в переменных.
|
Этот пользователь сказал Спасибо lmikle за это полезное сообщение: | ||
listerine (21.03.2013)
|
#3
|
||||
|
||||
Цитата:
Конкретно в этом коде смущает приведение экземпляра TDBGrid к TStringGrid, наверняка из-за отсутствия в TDBGrid свойства Row. А зачем, спрашивается? Это и есть быдлокод. Наличие визуальных компонентов не отменяет обычного, невизуального ООП. |
#4
|
||||
|
||||
да, TDBGrid не наследник TStringGrid. общий родитель у них TCustomGrid.
Пишу программы за еду. __________________ |
Этот пользователь сказал Спасибо NumLock за это полезное сообщение: | ||
listerine (21.03.2013)
|
#5
|
|||
|
|||
Цитата:
Я слегка в шоке элементарного перед носом не замечал. Спасибо Freeman что открыли глаза. Избавился от задачи "программно кликнуть куда-либо". Все заработало. Спасибо всем за помощь. |