Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Для новичков > StrinGrid опустить значения вниз


Автор: MrDmitry 1.9.2010, 14:58
Как опустить все значения StrinGGrid на 1 позицию ниже? )

Автор: northener 2.9.2010, 00:38
Самый простой, работающий во всех версиях Дельфи способ - это воспользоваться методом предка TCustomGrid.MoveRow в обратном цикле по строкам грида. 

Автор: MrDmitry 2.9.2010, 11:57
Это как? )

Автор: northener 2.9.2010, 13:54
Цитата(MrDmitry @  2.9.2010,  11:57 Найти цитируемый пост)
Это как? ) 

Код

type
  THackGrid = class(TCustomGrid);
...
StringGrid1.RowCount:=StringGrid1.RowCount+1;
for i:=StringGrid1.RowCount-2 downto 1 do
  THackGrid(StringGrid1).MoveRow(i,i+1);

По-моему так.

Автор: MrDmitry 2.9.2010, 14:30
ошибка на строке 
THackGrid(DBAdvGrid1).MoveRow(i,i+1);
Код

undeclared identifier: 'MoveRow'

Автор: Dom 2.9.2010, 16:20
А какой тип у DBAdvGrid1?

Автор: northener 2.9.2010, 17:32
Цитата(MrDmitry @  2.9.2010,  14:30 Найти цитируемый пост)
ошибка на строке 
THackGrid(DBAdvGrid1).MoveRow(i,i+1);
undeclared identifier: 'MoveRow'


Не верю.



Автор: MrDmitry 2.9.2010, 20:34
почему не веришь?? не сработало если (

Автор: northener 2.9.2010, 21:37
Цитата(MrDmitry @  2.9.2010,  20:34 Найти цитируемый пост)
почему не веришь?? не сработало если ( 

Если написал в точности как в моем примере, такой ошибки быть не может!

Автор: amsoft 4.9.2010, 14:40
MrDmitry,

Код

procedure TForm1.Button1Click(Sender: TObject);
var
X: integer;
begin
with StringGrid1 do
     begin
     RowCount := RowCount + 1;
     for X := RowCount downto 2 do
         Rows[X] := Rows[X-1];
     Rows[1].Clear;
     end;
end;

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)