Вниз
Скачать: CL | DM;

Как правильно удалить Строку в StringGrid?   Найти похожие ветки 

← →
koha ©   (2006-11-24 15:10) [0]

Могу удалить вот так StringGrid1.Rows[index].Clear;  - Но клетки не исчезают и приходится строки перетаскивать.

Как удалить целиком строку в середине "сетки".
И почему не получается так:
StringGrid1.Rows[index].Delete(index)


← →
koha ©   (2006-11-24 15:36) [1]

Точнее сформулирую вопрос.  
> Могу удалить вот так StringGrid1.Rows[index].Clear;  - Но клетки не
> исчезают и приходится строки перетаскивать.

Как удалить строку, чтобы строки не перетаскивать?
Есть ли другой способ?


← →
Elen ©   (2006-11-24 15:39) [2]


> koha

Лови :
unit Unit1;

interface

uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, OleCtnrs, Grids, StdCtrls;

type
 TForm1 = class(TForm)
   StringGrid1: TStringGrid;
   Button1: TButton;
   procedure StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
     Rect: TRect; State: TGridDrawState);
   procedure Button1Click(Sender: TObject);

 private
   { Private declarations }
 public
   { Public declarations }
 end;

var
 Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
 Rect: TRect; State: TGridDrawState);
begin
if arow=0 then StringGrid1.RowHeights[arow]:=0;
end;

//********** FUNCTION **********
function DelRowInStringGrid(Grid:TStringgrid;index:integer):variant;
var
i: integer;
begin

Grid.Row:=0;
i:=0;
while( i<=Grid.RowCount - 1)and(  Grid.Row<Grid.RowCount-1) do
begin
if i>=index then begin
  Grid.Rows[i].Assign(Grid.Rows[i+1]);
end else
 Grid.Row:=Grid.Row+1;
 inc(i);
end;
 // StringGrid1.RowCount := StringGrid1.RowCount - 1;
end;
//********** END FUNCTION ******

procedure TForm1.Button1Click(Sender: TObject);
begin
DelRowInStringGrid(StringGrid1,2);
end;

end.


Пробуй


← →
koha ©   (2006-11-24 15:57) [3]

Спасибо - принцип понял


← →
Германн ©   (2006-11-24 17:12) [4]


> Как удалить строку, чтобы строки не перетаскивать?
> Есть ли другой способ?

У предка TSringGrid есть метод DeleteRow. Значит можно им воспользоваться.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.025 c
15-1164286983
misha_gr
2006-11-23 16:03
2006.12.10
C# для начинающих.


15-1163975713
Фара
2006-11-20 01:35
2006.12.10
Можно ли на Дельфи написать плагин для FAR а ?


2-1164536274
Ded222
2006-11-26 13:17
2006.12.10
Программа занимает 20 мб памяти в Диспетчере задач.


15-1164019452
Cyrax
2006-11-20 13:44
2006.12.10
Компиляторы, интерпретаторы и трансляторы


4-1153997911
DmitrySukach
2006-07-27 14:58
2006.12.10
Access Violation при вызове CryptSignAndEncryptMessage




   Наверх