📄 uviewlog.pas
字号:
unit UViewLog;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, DBClient, ImgList, ComCtrls;
type
TFrmViewLog = class(TForm)
ListView1: TListView;
ImageList1: TImageList;
ClientDataSet1: TClientDataSet;
procedure ClientDataSet1AfterOpen(DataSet: TDataSet);
procedure ListView1Data(Sender: TObject; Item: TListItem);
procedure DataSource1DataChange(Sender: TObject; Field: TField);
private
{ Private declarations }
public
{ Public declarations }
end;
var
FrmViewLog: TFrmViewLog;
implementation
{$R *.dfm}
procedure TFrmViewLog.ClientDataSet1AfterOpen(DataSet: TDataSet);
var
i: Integer;
col: TListColumn;
begin
ListView1.Columns.Clear;
for i := 0 to ClientDataSet1.FieldCount - 1 do
begin
col := ListView1.Columns.Add;
col.Caption := ClientDataSet1.Fields[i].DisplayLabel;
col.Width := ClientDataSet1.Fields[i].DisplayWidth * 6;
end;
end;
procedure TFrmViewLog.ListView1Data(Sender: TObject; Item: TListItem);
var
i: Integer;
rid: Integer;
begin
rid := Item.Index + 1;
if rid < 1 then rid := 1;
if rid > ClientDataSet1.RecordCount then
rid := ClientDataSet1.RecordCount;
ClientDataSet1.RecNo := rid;
Item.Caption := ClientDataSet1.Fields[0].AsString;
Item.ImageIndex := ClientDataSet1.Fields[0].AsInteger mod 10;
Item.StateIndex := ClientDataSet1.Fields[0].AsInteger mod 10;
for i := 1 to ClientDataSet1.FieldCount - 1 do
begin
Item.SubItems.Add(
ClientDataSet1.Fields[i].AsString);
end;
end;
procedure TFrmViewLog.DataSource1DataChange(Sender: TObject;
Field: TField);
begin
if ClientDataSet1.Active then
ListView1.Items.Count := ClientDataSet1.RecordCount
else
ListView1.Items.Count := 0;
Caption := 'Record count: ' + IntToStr(ListView1.Items.Count);
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -