![]() |
![]() ![]() ![]() ![]() |
|
Вставка строки в 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 | ||||