![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Непонятки с TStringGrid [D6, WinXP]
leonidus © (2008-11-12 10:59:00)В TStringGrid`е у меня один столбец, программа в соответствии с кол-вом данных необходимых для отображения создает нужное число строк и загружает в них данные. Пользователь может любую ячейку отредактировать перемещаясь между ячейками с помощью стрелок клавиатуры. Если указатель стоит на самом последней ячейке (самой нижней строчке) и юзер нажимает клавишу "вниз", то код TStringGrid1.RowCount:=TStringGrid1.RowCount+1;
добавляет новую ячейку для новых данных. Теперь мне нужно слетать так, что если указатель находится на последней пустой ячейке и юзер нажал клавишу "вверх", пустая ячейка исчезала, т.е.:
TStringGrid1.RowCount:=TStringGrid1.RowCount-1;
логично предположить что при этом указатель должен автоматически переместиться на новую последнюю ячейку (до нажатия клавиши она была предпоследняя), однако указатель упорно становится не на последнюю, а именно на предпоследнюю ячейку, перескакивая последнюю. В чем может быть дело?
Поросенок Винни-Пух (2008-11-12 15:02:00) [1]Кажется заработало спасибо, но я не понял почему же происходило перескакивание?
Двойной удар. Сначала удалилась настоящая последняя, потом был обработан шаг вверх. Итого ты на бывшей пред-предпоследней строке.
leonidus (2008-11-12 14:33:00) [2]я вроде простой вопрос задал, неужели так трудно подсказать в чем была проблема?
clickmaker (2008-11-12 14:25:00) [3]> но я не понял почему же происходило перескакивание
поройся в исходниках VCL
leonidus (2008-11-12 14:20:00) [4]Кажется заработало спасибо, но я не понял почему же происходило перескакивание?
Amoeba (2008-11-12 13:50:00) [5]
> leonidus (12.11.08 13:44) [2]
>
> у TStringGrid нет метода Abort...
Это не метод, а обычная процедура. Потрудись заглянуть в справку.
leonidus (2008-11-12 13:44:00) [6]у TStringGrid нет метода Abort...
Leonid Troyanovsky (2008-11-12 13:01:00) [7]
> leonidus (12.11.08 10:59)
> слетать так, что если указатель находится на последней пустой
> ячейке и юзер нажал клавишу "вверх", пустая ячейка исчезала,
> т.е.:
> TStringGrid1.RowCount:=TStringGrid1.RowCount-1;
Вставь после этой строки Abort.
--
Regards, LVT.