![]() |
![]() ![]() ![]() ![]() ![]() |
![]() |
Вставка строки в TStringGridDelphi , Компоненты и Классы , TStringGrid и TDrawGrid
Автор: MBo { **** UBPFD *********** by delphibase.endimus.com **** >> Вставка строки в StringGrid Вставляет новую строку в указанную позицию StringGrid Зависимости: Grids Автор: Борис Новгородов (MBo), mbo@mail.ru, Новосибирск Copyright: MBo Дата: 27 апреля 2002 г. ***************************************************** } procedure SGInsertRow(SG: TStringGrid; NewRow: Integer); var i: Integer; begin if NewRow < 0 then NewRow := 0; // либо 1, задайте нужное вам поведение with SG do begin RowCount := RowCount + 1; if NewRow < RowCount - 1 then begin for i := RowCount - 1 downto NewRow + 1 do Rows[i].Assign(Rows[i - 1]); end; Rows[NewRow].Clear; end; end; Полезный код! 🙏 Процедура Параметр: Логика:
1. Если Замечания:
Альтернативное решение: вместо смещения всех рядов вниз можно создать временный массив или список, чтобы хранить данные существующих строк, а затем перезаписать их в контроле после вставки нового ряда. Этот подход будет более эффективен для больших контролов с множеством строк. Однако предоставленная реализация проста и легко понятна. В целом, эта процедура обеспечивает простой способ вставки нового ряда в контрол Процедура SGInsertRow для вставки новой строки в TStringGrid, которая увеличивает количество строк, копирует предыдущие строки и очищает новую строку. Комментарии и вопросыПолучайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта. :: Главная :: TStringGrid и TDrawGrid ::
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 |