stringgrid删除选中行

定义一个从TStringGrid类继承的新类如下:
type
TMyGrid = class(TStringgrid);

之后,删除时:你可以这样写:
TMyGrid(Grid).DeleteRow(Grid.Row); //Grid为你的StringGrid控件

说明:DeleteRow方法是TCustomGrid类申明的protected方法,可以删除表格中的一行;
而TStringGrid没有将这一方法公开出来(意味着其他类将无法访问),所以你只需要定义一个从TStringGrid类继承的新类就可以了。

Posted in 软件开发 at July 4, 2016. by 傻猫 .    Views: 2169    No Comments

StringGrid排序/隔行变色

//排序函数//////////////////////////////////////////////
procedure Quicksort(Grid:TStringGrid; var List:array of integer;
min, max,sortcol,datatype: Integer);
{List is a list of rownumbers in the grid being sorted}
var
med_value : integer;
hi, lo, i : Integer;

function compare(val1,val2:string):integer;
var
int1,int2:integer;
float1,float2:extended;
errcode:integer;
begin
case datatype of
0: result:=ANSIComparetext(val1,val2);
1: begin
int1:=strtointdef(val1,0);
int2:=strtointdef(val2,0);
if int1>int2 then result:=1
else if int1<int2 then result:=-1
else result:=0;
end;

  2: begin
       val(val1,float1,errcode);
       if errcode<>0 then float1:=0;
       val(val2,float2,errcode);
       if errcode<>0 then float2:=0;
       if float1>float2 then result:=1
       else if float1<float2 then result:=-1
       else result:=0;
     end;
   else result:=0;
end;

end;

查看更多内容...

Posted in 软件开发 at July 4, 2016. by 傻猫 .    Views: 2161    No Comments