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...