📄 rywh.pas
字号:
unit rywh;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Db, DBTables, Grids, DBGrids, StdCtrls, ExtCtrls;
type
TrywhForm = class(TForm)
DBGrid1: TDBGrid;
DataSource1: TDataSource;
Table1: TTable;
Table2: TTable;
Panel3: TPanel;
Panel1: TPanel;
Panel2: TPanel;
smgrid: TStringGrid;
procedure FormCreate(Sender: TObject);
procedure Table1AfterInsert(DataSet: TDataSet);
procedure DBGrid1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure DBGrid1KeyPress(Sender: TObject; var Key: Char);
procedure DBGrid1DblClick(Sender: TObject);
procedure DBGrid1CellClick(Column: TColumn);
procedure DBGrid1KeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
private
{ Private declarations }
public
{ Public declarations }
end;
var
rywhForm: TrywhForm;
implementation
uses dataproc;
{$R *.DFM}
procedure lbinit;
var i:integer;
begin
with rywhForm do
begin
table2.Active:=false;
Table2.Tablename:='dbo.rytype';
Table2.Filter:='deptcode='+trim(table1.Fields[4].asstring);
try
Table2.Open;
except
end;
for i:=1 to smgrid.ColCount-1 do
begin
if not Table2.Eof then
begin
smgrid.Cells[i,0]:=Table2.Fields[0].asstring;
smgrid.Cells[i,1]:=Table2.Fields[1].asstring;
Table2.Next;
end
else
begin
smgrid.Cells[i,0]:='';
smgrid.Cells[i,1]:='';
end;
end;
Table2.Close;
Table2.Active:=false;
end;
end;
procedure init;
begin
with rywhForm do
begin
Table1.Close;
Table1.Active:=false;
Table1.TableName:='dbo.stuff';
Table1.Open;
Table1.Fields[11].visible:=false;
ChineseGrid(DBGrid1);
{ DBGrid1.fields[3].displaylabel:=' 身份证号码 ';
DBGrid1.fields[8].displaylabel:='部门';
DBGrid1.fields[10].displaylabel:='登记';
DBGrid1.fields[11].displaylabel:='消费';
DBGrid1.fields[14].displaylabel:='维护';
DBGrid1.fields[12].displaylabel:='结帐';
DBGrid1.fields[13].displaylabel:='客房';
dbgrid1.Columns[3].width:=76;
dbgrid1.Columns[4].width:=70;
dbgrid1.Columns[5].width:=40;
dbgrid1.Columns[6].width:=50;
dbgrid1.Columns[7].width:=50;
dbgrid1.Columns[8].width:=30; }
lbinit;
end;
end;
procedure TrywhForm.FormCreate(Sender: TObject);
var i:integer;
begin
smgrid.Cells[0,0]:='职务代号';
smgrid.Cells[0,1]:='职务名称';
smgrid.Cells[0,3]:='部门代号';
smgrid.Cells[0,4]:='部门名称';
Table2.Close;
Table2.Active:=false;
Table2.Tablename:='dbo.dept';
Table2.Open;
// smgrid.
i:=1;
while not Table2.Eof do
begin
smgrid.Cells[i,3]:=Table2.Fields[0].asstring;
smgrid.Cells[i,4]:=Table2.Fields[1].asstring;
Table2.Next;
i:=i+1;
end;
Table2.Close;
Table2.Active:=false;
init;
end;
procedure TrywhForm.Table1AfterInsert(DataSet: TDataSet);
begin
Table1.Fields[5].asstring:='否';
Table1.Fields[6].asstring:='否';
Table1.Fields[7].asstring:='否';
Table1.Fields[8].asstring:='否';
Table1.Fields[9].asstring:='否';
Table1.Fields[10].asstring:='否';
Table1.Fields[12].asstring:='否';
Table1.Fields[13].asstring:='否';
// Table1.Fields[15].asstring:='否';
Table1.Fields[11].asstring:=passzh('1234');
end;
procedure TrywhForm.DBGrid1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key=112 then
begin
if xt=1 then help(19);
end;
end;
procedure TrywhForm.DBGrid1KeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
begin
if DBGrid1.SelectedIndex<DBGrid1.FieldCount-1 then
DBGrid1.SelectedIndex:=DBGrid1.SelectedIndex+1
else
begin
if Table1.Eof then
begin
Table1.Next;
init;
Table1.last;
end
else
Table1.Next;
end;
end;
end;
procedure TrywhForm.DBGrid1DblClick(Sender: TObject);
var i,h:integer;
begin
h:=DBGrid1.SelectedIndex;
if (h=2) or (h>5) then
begin
Table1.edit;
DBGrid1.Fields[h].asBoolean:=not DBGrid1.Fields[h].asBoolean;
end;
if (h=3)then
begin
Table1.edit;
for i:=1 to smgrid.ColCount-1 do
if trim(DBGrid1.Fields[h].asstring)=trim(smgrid.cells[i,3]) then break;
if trim(smgrid.cells[i+1,3])<>'' then
DBGrid1.Fields[h].asstring:=smgrid.cells[i+1,3]
else DBGrid1.Fields[h].asstring:=smgrid.cells[1,3];
lbinit;
end;
if (h=4) then
begin
Table1.edit;
for i:=1 to smgrid.ColCount-1 do
if trim(DBGrid1.Fields[h].asstring)=trim(smgrid.cells[i,0]) then break;
if trim(smgrid.cells[i+1,0])<>'' then
DBGrid1.Fields[h].asstring:=smgrid.cells[i+1,0]
else DBGrid1.Fields[h].asstring:=smgrid.cells[1,0];
end;
// smgrid.ce
end;
procedure TrywhForm.DBGrid1CellClick(Column: TColumn);
begin
//lbinit;
end;
procedure TrywhForm.DBGrid1KeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if (key=40) or (key=38) then
lbinit;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -