请问:AdvStringGrid中怎样取当前行? 在TStringGrid中,有Row,Col属性,在AdvStringGrid中有没有相应属性,如果使用 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 有。名称一样 。 editgrid.Row := 10; editgrid.Col := 10; 谢谢关注。 但好象不会不么简单。以下代码是无法编译的: unit Uasg3;interfaceuses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Grids, AdvGrid, Mask, BaseGrid;type TForm1 = class(TForm) AdvStringGrid1: TAdvStringGrid; Label1: TLabel; Label2: TLabel; Button1: TButton; procedure AdvStringGrid1GetEditMask(Sender: TObject; ACol, ARow: Integer; var Value: String); procedure AdvStringGrid1AutoInsertRow(Sender: TObject; ARow: Integer); procedure Button1Click(Sender: TObject); procedure AdvStringGrid1Click(Sender: TObject); private { Private declarations } public { Public declarations } end;var Form1: TForm1;implementation{$R *.DFM}procedure TForm1.AdvStringGrid1GetEditMask(Sender: TObject; ACol, ARow: Integer; var Value: String);begin case ACol of 0:Value := '!000;1;_'; 1:Value := ''; 2:Value := '!000;1;_'; 3:Value := '!99/99/00;1;_'; 4:Value := '!90:00;1;_'; end ;end;procedure TForm1.AdvStringGrid1AutoInsertRow(Sender: TObject; ARow: Integer);var i: Integer;begin with AdvStringGrid1 do begin if (Cells[0,ARow - 1] <> '') and (ARow > 1) then i := Ints[0,ARow - 1] else i := 0; Cells[0,ARow] := Inttostr(i + 1); end;end;procedure TForm1.Button1Click(Sender: TObject);begin AdvStringGrid1.Row :=AdvStringGrid1.Row+1; AdvStringGrid1.RowCount :=AdvStringGrid1.RowCount+1;end;procedure TForm1.AdvStringGrid1Click(Sender: TObject);begin AdvStringGrid1AutoInsertRow(AdvStringGrid1,AdvStringGrid1.Row); Row := Row+1;end;end. 出错信息:UASG3.PAS(82) Error: Undeclared identifier: 'Row' 我看了TAdvStringGrid的源码,好象没有Row,Col这两个属性,这让我无法进行取当前行的代码。其添加行的操作好象是通过触发OnAutoInsertRow等事件来完成。有没有什么办法手工编代码在当前行处一次性添加/删除多行?烦请指教。 改成下面的形式。 procedure TForm1.AdvStringGrid1Click(Sender: TObject);begin AdvStringGrid1AutoInsertRow(AdvStringGrid1,AdvStringGrid1.Row); AdvStringGrid1.Row := AdvStringGrid1.Row+1;end; 按钮的背景色 如何带参数打开其他程序? RC4 Invalid Key length错误,调用Bpl时发生,高分求助 动态创建控件,在线等急 CommandText Cann't Changed? 请求帮忙翻译代码 不想回答问题了,散分来者有份。不用担心分不够。 SpeedButton的DblClick为什么是无效的?它有什么作用? 声音播防求救? 大侠援手,有疑难问题需解决 哪位高人帮我看看这是个什么加密算法 关于一段vb代码转换为delphi的急!
名称一样 。
editgrid.Row := 10;
editgrid.Col := 10;
但好象不会不么简单。以下代码是无法编译的:
unit Uasg3;interfaceuses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Grids, AdvGrid, Mask, BaseGrid;type
TForm1 = class(TForm)
AdvStringGrid1: TAdvStringGrid;
Label1: TLabel;
Label2: TLabel;
Button1: TButton;
procedure AdvStringGrid1GetEditMask(Sender: TObject; ACol,
ARow: Integer; var Value: String);
procedure AdvStringGrid1AutoInsertRow(Sender: TObject; ARow: Integer);
procedure Button1Click(Sender: TObject);
procedure AdvStringGrid1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.DFM}procedure TForm1.AdvStringGrid1GetEditMask(Sender: TObject; ACol,
ARow: Integer; var Value: String);
begin
case ACol of
0:Value := '!000;1;_';
1:Value := '';
2:Value := '!000;1;_';
3:Value := '!99/99/00;1;_';
4:Value := '!90:00;1;_';
end ;
end;procedure TForm1.AdvStringGrid1AutoInsertRow(Sender: TObject;
ARow: Integer);
var
i: Integer;
begin
with AdvStringGrid1 do
begin
if (Cells[0,ARow - 1] <> '') and (ARow > 1) then
i := Ints[0,ARow - 1]
else
i := 0; Cells[0,ARow] := Inttostr(i + 1);
end;
end;procedure TForm1.Button1Click(Sender: TObject);begin
AdvStringGrid1.Row :=AdvStringGrid1.Row+1;
AdvStringGrid1.RowCount :=AdvStringGrid1.RowCount+1;
end;procedure TForm1.AdvStringGrid1Click(Sender: TObject);
begin
AdvStringGrid1AutoInsertRow(AdvStringGrid1,AdvStringGrid1.Row);
Row := Row+1;end;end.
出错信息:
UASG3.PAS(82) Error: Undeclared identifier: 'Row'
我看了TAdvStringGrid的源码,好象没有Row,Col这两个属性,这让我无法进行取当前行的代码。
其添加行的操作好象是通过触发OnAutoInsertRow等事件来完成。有没有什么办法手工编代码在当前行处一次性添加/删除多行?
烦请指教。
procedure TForm1.AdvStringGrid1Click(Sender: TObject);
begin
AdvStringGrid1AutoInsertRow(AdvStringGrid1,AdvStringGrid1.Row);
AdvStringGrid1.Row := AdvStringGrid1.Row+1;end;