AdvStringGrid常用操作

2022-05-13 05:17:39 字數 3422 閱讀 1718

advstringgrid1.options:=[goediting]; //設定單元格是否可編輯

advstringgrid1.mouseactions.directedit:=true; //設定點選單元格即進入編輯狀態

procedure tform1.advstringgrid1caneditcell(sender: tobject; arow, acol: integer; var

canedit: boolean);

vari: integer;

begin

for i := 0

to advstringgrid1.colcount do

begin

canedit :=false;

end;

if acol = 1

then

canedit :=true;

if acol = 7

then

canedit :=true;

end;

//

設定單元格對齊方式

procedure tform1.advstringgrid1getalignment(sender: tobject; arow, acol: integer; var halign: talignment; var

valign: tvalignment);

begin

if acol = 1

then

begin

halign := tacenter; //

talignment = (taleftjustify, tarightjustify, tacenter);

valign := vtacenter; //

tvalignment = (vtatop,vtacenter,vtabottom);

end;

end;

//

新增checkbox

procedure

tform1.formcreate(sender: tobject);

vari: integer;

flag: boolean;

begin

//新增checkbox

for i := 1

to advstringgrid1.rowcount - 1

dobegin

advstringgrid1.addcheckbox(

1, i, false, false);

end;

//判斷checkbox是否選中

for i := 1

to advstringgrid1.rowcount - 1

dobegin

advstringgrid1.getcheckboxstate(

1, i, flag);

if flag then

begin

//如果選中checkbox進行操作

end;

end;end;

//

advstringgrid1.options:=[goediting]; //設定單元格是否可編輯

:= true; //設定點選單元格即進入編輯狀態

//為 advstringgrid1增加下拉列表選擇框

procedure tform1.advstringgrid1geteditortype(sender: tobject; acol, arow: integer; var

aeditor: teditortype);

varsqlstr:

string

;begin

if acol = 2

then

//設定特定列為下拉列表框型別

begin

sqlstr := '

select * from dictfeeitem';

with adoquery1 do

begin

close;

sql.clear;

sql.add(sqlstr);

open;

end;

if adoquery1.recordcount > 0

then

begin

adoquery1.first;

aeditor := edcombolist; //

設定編輯框為下拉列表

advstringgrid1.clearcombostring; //

清空下拉列表內容

while

not adoquery1.eof do

begin

advstringgrid1.addcombostring(adoquery1.fieldbyname(

'feeitem

').asstring); //

增加下拉列表框內容

adoquery1.next;

end;

end;

end;end;

//滾動條到最後一條記錄

sendmessage(advstringgrid1.handle,wm_vscroll,sb_bottom,0);

//

根據內容改變單元格的顏色

procedure

tform1.button1click(sender: tobject);

vari: integer;

begin

advstringgrid1.rowcount := 7

; advstringgrid1.cells[

1, 1] := '

-11'

; advstringgrid1.cells[

1, 2] := '1'

; advstringgrid1.cells[

1, 3] := '19'

; advstringgrid1.cells[

1, 4] := '-8'

; advstringgrid1.cells[

1, 5] := '0'

; advstringgrid1.cells[

1, 6] := '11'

; for i := 1

to advstringgrid1.rowcount - 1

dobegin

if strtoint(advstringgrid1.cells[1, i]) <= 0

then

advstringgrid1.fontcolors[

1, i] :=clred

else

advstringgrid1.fontcolors[

1, i] :=clblack;

end;end;

AdvStringGrid使用小結

結合最近自己做的一些工作,用到了第三方控制項advstringgrid,這裡就常用的一些技巧做個小小的總結 1 如何設定 固定的列數,如下圖所示 advstringgrid使用小結 這裡固定的列數為3列,通過設定下面屬性來改變固定的列數 advstringgrid.fixedcols n n為要固定...

AdvStringGrid使用小結 轉

結合最近自己做的一些工作,用到了第三方控制項advstringgrid,這裡就常用的一些技巧做個小小的總結 1 如何設定 固定的列數,如下圖所示 這裡固定的列數為3列,通過設定下面屬性來改變固定的列數 advstringgrid.fixedcols n n為要固定的列數值 2 如何從advstrin...

advStringGrid單元格文字垂直居中

1 必須設定advstringgrid屬性wordwrap false,2 在ongetalignment事件中,新增以下 procedure tfrm book input.stringgrid1getalignment sender tobject arow,acol integer var h...