📄 dangerdatalist.pas
字号:
unit DangerDataList;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids, DBGrids, DB, ToolWin, ComCtrls, StdCtrls, Buttons, ADODB,
ExtCtrls;
type
TMyDBGrid=class(TDBGrid);
TDangerDataListForm = class(TForm)
StatusBar1: TStatusBar;
ToolBar1: TToolBar;
DataSource1: TDataSource;
BitBtn1: TBitBtn;
Panel1: TPanel;
Splitter1: TSplitter;
Panel2: TPanel;
GroupBox1: TGroupBox;
DBGrid2: TDBGrid;
DataSource2: TDataSource;
DangerEntry: TADOQuery;
DangerEntryNumberNO: TIntegerField;
DangerEntryNumberNOEntry: TIntegerField;
DangerEntryNumberMoney: TBCDField;
DangerEntryNumberRatio: TBCDField;
DangerEntryOutMoney: TBCDField;
DangerEntryInMoney: TBCDField;
DangerEntryDangerMoney: TBCDField;
dangerdatelistsp: TADOQuery;
Panel3: TPanel;
Panel4: TPanel;
GroupBox2: TGroupBox;
DBGrid1: TDBGrid;
GroupBox3: TGroupBox;
Label1: TLabel;
Edit1: TEdit;
ADOStoredProc1: TADOStoredProc;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormShow(Sender: TObject);
procedure DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
procedure FormCreate(Sender: TObject);
procedure DBGrid1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure DBGrid2DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
procedure Edit1KeyPress(Sender: TObject; var Key: Char);
private
{ Private declarations }
Procedure OnMouseWheel(Var Msg :TMsg;var Handled:Boolean);
public
{ Public declarations }
end;
var
DangerDataListForm: TDangerDataListForm;
implementation
uses NumberManger,NumberSaleNew;
{$R *.dfm}
Procedure TDangerDataListForm.OnMouseWheel(Var Msg :TMsg;var Handled:Boolean);
begin
if Msg.message = WM_MouseWheel then
begin
if Msg.wParam > 0 then
begin
if DBGrid1.Focused then
SendMessage(DBGrid1.Handle,WM_VSCROLL,SB_PAGEUP,0);
end
else
begin
if DBGrid1.Focused then
SendMessage(DBGrid1.Handle,WM_VSCROLL,SB_PAGEDOWN,0);
end;
Handled:= True;
end;
end;
procedure TDangerDataListForm.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
action:=cafree;
end;
procedure TDangerDataListForm.FormShow(Sender: TObject);
begin
dangerdatelistsp.Close;
dangerdatelistsp.SQL.Clear;
dangerdatelistsp.SQL.Add('select * from Danger_Number Order By DangerMoney');
dangerdatelistsp.open;
//ADOTable1.open;
end;
procedure TDangerDataListForm.DBGrid1DrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumn;
State: TGridDrawState);
begin
with TMyDBGrid(Sender) do
begin
if (dangerdatelistsp.Fields[5].value<0) then
begin
(Sender as TDBGrid).Canvas.Brush.Color := RGB(191, 255, 223); //定义背景颜色
(Sender as TDBGrid).Canvas.Font.Color:=clRed;
end
else
begin
(Sender as TDBGrid).Canvas.Brush.Color := RGB(191, 255, 223); //定义背景颜色
(Sender as TDBGrid).Canvas.Font.Color:=clBlue;
end;
DefaultDrawColumnCell(Rect,DataCol,Column,State);
end;
end;
procedure TDangerDataListForm.FormCreate(Sender: TObject);
begin
Application.OnMessage:=OnMouseWheel; // 截获鼠标滚动事件
end;
procedure TDangerDataListForm.DBGrid1MouseUp(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
var
querystring:string;
begin
querystring:='select * from Danger_NumberEntry where NumberNO='''+floattostr(dangerdatelistsp.Fields[0].Value)+'''';
querystring:=querystring+' order by DangerMoney';
DangerEntry.Close;
DangerEntry.SQL.Clear;
DangerEntry.SQL.Add( querystring);
DangerEntry.open;
end;
procedure TDangerDataListForm.DBGrid2DrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumn;
State: TGridDrawState);
begin
with TMyDBGrid(Sender) do
begin
if (DangerEntry.Fields[6].value<0) then
begin
(Sender as TDBGrid).Canvas.Brush.Color := RGB(191, 255, 223); //定义背景颜色
(Sender as TDBGrid).Canvas.Font.Color:=clRed;
end
else
begin
(Sender as TDBGrid).Canvas.Brush.Color :=RGB(191, 255, 223); //定义背景颜色
(Sender as TDBGrid).Canvas.Font.Color:=clBlue;
end;
DefaultDrawColumnCell(Rect,DataCol,Column,State);
end;
end;
procedure TDangerDataListForm.Edit1KeyPress(Sender: TObject;
var Key: Char);
var
querystr:string;
begin
if key=#13 then
begin
//
if edit1.text<>'' then
begin
ADOStoredProc1.Close;
ADOStoredProc1.Parameters[1].Value:=saleperiod;
ADOStoredProc1.Parameters[2].Value:=strtofloat(edit1.text);
ADOStoredProc1.ExecProc;
ADOStoredProc1.Close;
querystr:='select * from Avg_NumberEntry where NumberNO=9999 order by DangerMoney';
DangerEntry.Close;
DangerEntry.SQL.Clear;
DangerEntry.SQL.Add( querystr);
DangerEntry.open;
end
else
begin
application.MessageBox('请输入风险值!','系统提示',MB_ICONERROR);
edit1.SetFocus;
end;
end;
if not (key in ['0'..'9',Chr(8)]) then
key:=#0;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -