📄 cdwh.pas
字号:
unit cdwh;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Db, DBTables, Grids, DBGrids, ExtCtrls, ComCtrls, StdCtrls, DBCtrls, Mask;
type
TcdwhForm = class(TForm)
Panel2: TPanel;
DBGrid3: TDBGrid;
Panel3: TPanel;
DBGrid2: TDBGrid;
DataSource2: TDataSource;
DataSource3: TDataSource;
Panel4: TPanel;
Table1: TTable;
Table2: TTable;
Panel1: TPanel;
Label6: TLabel;
Button1: TButton;
Panel5: TPanel;
procedure FormCreate(Sender: TObject);
procedure DBGrid2CellClick(Column: TColumn);
procedure Table1AfterInsert(DataSet: TDataSet);
procedure DBGrid2KeyPress(Sender: TObject; var Key: Char);
procedure DBGrid3DblClick(Sender: TObject);
procedure DBGrid3KeyPress(Sender: TObject; var Key: Char);
procedure DBGrid2Enter(Sender: TObject);
procedure DBGrid2Exit(Sender: TObject);
procedure DBGrid3Exit(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Table2AfterInsert(DataSet: TDataSet);
procedure DBGrid3CellClick(Column: TColumn);
private
{ Private declarations }
public
{ Public declarations }
end;
var
cdwhForm: TcdwhForm;
implementation
uses dataproc;
{$R *.DFM}
procedure mxinit;
begin
with cdwhForm do
begin
table2.Open;
table2.Filter:='custype='+table1.Fields[0].asstring;
ChineseGrid(DBGrid3);
end;
end;
procedure init;
begin
with cdwhForm do
begin
table1.Open;
// Table1.Fields[0].visible:=false;
Table1.Fields[2].visible:=false;
ChineseGrid(DBGrid2);
DBGrid2.SelectedIndex:=1;
dbgrid2.Columns[0].width:=30;
dbgrid2.Columns[1].width:=60;
DBGrid2.fields[1].displaylabel:='类型名称';
DBGrid2.fields[0].displaylabel:='代码';
end;
end;
procedure TcdwhForm.FormCreate(Sender: TObject);
begin
init;
mxinit;
end;
procedure TcdwhForm.DBGrid2CellClick(Column: TColumn);
begin
mxinit;
end;
procedure TcdwhForm.Table1AfterInsert(DataSet: TDataSet);
begin
table1.Fields[0].asstring:=xbh('ctdb.dbo.custype','','CusType',1,3);
table1.Fields[2].asstring:='';
end;
procedure TcdwhForm.DBGrid2KeyPress(Sender: TObject; var Key: Char);
begin
DBGrid2.SelectedIndex:=1;
if key=#13 then
begin
if DBGrid2.SelectedIndex<DBGrid2.FieldCount-1 then
DBGrid2.SelectedIndex:=DBGrid2.SelectedIndex+1
else
begin
if Table1.Eof then
begin
Table1.Next;
Table1.close;
init;
Table1.last;
end
else
Table1.Next;
end;
end;
end;
procedure TcdwhForm.DBGrid3DblClick(Sender: TObject);
begin
if (DBGrid3.SelectedIndex=4) then
begin
Table2.edit;
DBGrid3.Fields[4].asBoolean:=not DBGrid3.Fields[4].asBoolean;
end;
// smgrid.ce
end;
procedure TcdwhForm.DBGrid3KeyPress(Sender: TObject; var Key: Char);
begin
if DBGrid3.SelectedIndex=0 then DBGrid3.SelectedIndex:=1;
if DBGrid3.SelectedIndex=2 then DBGrid3.SelectedIndex:=3;
if (DBGrid3.SelectedIndex=5) and (key<>#13) then
begin
Table2.edit;
DBGrid3.Fields[5].asBoolean:=not DBGrid3.Fields[5].asBoolean;
key:=#0;
end;
if key=#13 then
begin
if DBGrid3.SelectedIndex<DBGrid3.FieldCount-1 then
begin
DBGrid3.SelectedIndex:=DBGrid3.SelectedIndex+1;
if DBGrid3.SelectedIndex=5 then
begin
Table2.edit;
DBGrid3.Fields[5].asBoolean:=false;
end;
end
else
begin
if Table2.Eof then
begin
Table2.Next;
Table2.close;
mxinit;
Table2.last;
end
else
Table2.Next;
end;
end;
end;
procedure TcdwhForm.DBGrid2Enter(Sender: TObject);
begin
(ActiveControl as Tdbgrid).Color:=clWhite;
(ActiveControl as Tdbgrid).Font.Color:=clBlue;
end;
procedure TcdwhForm.DBGrid2Exit(Sender: TObject);
begin
dbgrid2.Color:=clBackground;
dbgrid2.Font.Color:=clYellow;
end;
procedure TcdwhForm.DBGrid3Exit(Sender: TObject);
begin
dbgrid3.Color:=clBackground;
dbgrid3.Font.Color:=clYellow;
end;
procedure TcdwhForm.Button1Click(Sender: TObject);
begin
close;
end;
procedure TcdwhForm.Table2AfterInsert(DataSet: TDataSet);
begin
table2.Edit;
table2.Fields[2].asstring:=table1.Fields[0].asstring;
table2.Fields[0].asstring:=xbh('ctdb.dbo.cusitem where custype='''+table1.Fields[0].asstring+'''','','Cuscode',4,3);
if length(trim(table2.Fields[0].asstring))<4 then
table2.Fields[0].asstring:=table1.Fields[0].asstring+table2.Fields[0].asstring;
end;
procedure TcdwhForm.DBGrid3CellClick(Column: TColumn);
begin
if DBGrid3.SelectedIndex=0 then DBGrid3.SelectedIndex:=1;
if DBGrid3.SelectedIndex=3 then DBGrid3.SelectedIndex:=4;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -