cxGrid 控制表格翻页
cxGrid的控制,跟一般的control的控制不太一樣,一般的控件可以通過
senderMessage(),來控制,而cxGrid不行,要通過cxGrid1DBBandedTableView1.Controller的相應方法才可以。
cxGrid1DBBandedTableView1.Controller.DoKeyDown(key, []);
cxGrid1DBBandedTableView1.Controller.Scroll(sbVertical, scLineDown, i);
用DataController.Controller.Scroll(AScrollBarKind: TScrollBarKind; AScrollCode: TScrollCode;var AScrollPos: Integer)這個方法(在dataview下)
TScrollBarKind = (sbHorizontal, sbVertical);(可能要uses StdCtrls)
TScrollCode = (scLineUp, scLineDown, scPageUp, scPageDown, scPosition,
scTrack, scTop, scBottom, scEndScroll);
AScrollPos一定要用變量
選sbVertical(垂直滾動條)
scLineUp是向上滾動,滾動AScrollPos行
scLineDown是向下滾動,滾動AScrollPos行
scPageUp是向上翻頁,翻AScrollPos頁(dwon向下)
scPosition是直接定位,定位在AScrollPos的位置
scTop, scBottom是讓滾動條移到頂部或者底部
scEndScroll我沒測試
cxGrid1DBBandedTableView1.Controller.DoKeyDown(key, []);
DEMO:
procedure Tfrom1.btn_UpClick(Sender: TObject);
var
i :integer;
Key: Word ;
begin
Key :=33;
cxGrid1DBBandedTableView1.Controller.DoKeyDown(key, [ssShift]);
cxGrid1DBBandedTableView1.Controller.Scroll(sbVertical, scPageUp, i);
end;

浙公网安备 33010602011771号