Как да премахнете ред в таблицата stringgrid

Как да премахнете ред
в таблица StringGrid


Можем лесно да добавяте или премахвате последния ред в StringGrid компонент, но не е толкова лесно да изтриете ред в StringGrid компонент. Това не е за последен. По този начин за отстраняване на ред в StringGrid на маса. трябва да напишете своя собствена процедура.

Процедурата премахва желания компонент StringGrid низ трябва първо да пренапише всички линии под изтрит един ред нагоре, а след изчистване на последния ред, а след това да намали броя на редовете в една таблица. Изчистването на последния ред е необходимо, тъй като последващото добавяне на нов ред низ може да има предишното съдържание. Това е процедурата:

процедура TForm1.DeleteRow (ARow: цяло число);
Var, Й: цяло число;
започвам
с StringGrid1 правя
започвам
за I: = ARow + 1 до RowCount-1 направи
за к: = 0 до ColCount-1 направи
Клетките [J, I-1]: = Клетките [J, I];
защото: = 0 до ColCount-1 направи
Клетките [Ь, RowCount-1]: = '';
RowCount: = RowCount-1;
приключи;
приключи;

Ако искате да запазите съдържанието на колоната нулевия (тя може да бъде, например, номер на ред, и ако те са пренаписани, почивка номерация) не се нуждаят от втория цикъл между 0 и 1.


Въпреки това, има по-кратък метод за премахване на линия в StringGrid на маса. Необходимо е да се възползвате от това StringGrid компонент е подклас на TCustomGrid. И този клас има метод DeleteRow. премахване на споменатата поредица.

Така че, да обяви нов тип TMyGrid, е наследник TCustomGrid, и след това да напишете процедура DeleteARow:

процедура TForm1.DeleteARow (Решетка: TStringGrid;
ARow: цяло число);
започвам
TMyGrid (грид) .DeleteRow (ARow);
приключи;

Това е! Не забравяйте да се регистрирате процедура DeleteARow сред процедури тип TForm1.

Сега, за да се отстрани ред в StringGrid маса, трябва да се уточни индекса на съответния обект, след какъв вид маса. Ето как да се отстрани, например, текущия ред: