📄 uperson.pas
字号:
unit uperson;
interface
uses Windows, SysUtils, Classes, Graphics, Forms, Controls, StdCtrls,
Buttons, ExtCtrls, dialogs, DBGridEhImpExp, Grids, DBGridEh, Menus, ComCtrls;
type
Tperson = class(TForm)
Splitter1: TSplitter;
Panel2: TPanel;
Panel1: TPanel;
Panel3: TPanel;
Button2: TButton;
Button3: TButton;
b_del: TButton;
Button5: TButton;
PageControl1: TPageControl;
TabSheet1: TTabSheet;
DBGridEh1: TDBGridEh;
TabSheet2: TTabSheet;
DBGridEh2: TDBGridEh;
BitBtn5: TBitBtn;
BitBtn3: TBitBtn;
SaveDialog1: TSaveDialog;
Panel4: TPanel;
Button4: TButton;
treeview1: TTreeView;
procedure CancelBtnClick(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure add_TV;
procedure FormCreate(Sender: TObject);
procedure TreeView1Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure BitBtn3Click(Sender: TObject);
procedure BitBtn5Click(Sender: TObject);
procedure b_delClick(Sender: TObject);
procedure PageControl1Change(Sender: TObject);
procedure Button4Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
person: Tperson;
implementation
uses DB, uacount_new, u_dm, uperson_edit, ADODB, uperson_edit2,
uperson_append, u_main, RICH_SYS, frm_dbgrideh_print_set;
{$R *.dfm}
procedure Tperson.CancelBtnClick(Sender: TObject);
begin
close;
end;
procedure Tperson.N2Click(Sender: TObject);
begin
if MessageDlg('真的准备删除该农户吗?', mtWarning, mbOKCancel, 0) = idok then
dm1.A_Person.Delete;
end;
procedure Tperson.Button1Click(Sender: TObject);
var
s: string;
begin
add_TV;
dm1.A_Person.Requery();
dm1.A_Person_r.Requery();
DBGridEh1.SumList.Active := False;
DBGridEh1.SumList.Active := true;
DBGridEh2.SumList.Active := False;
DBGridEh2.SumList.Active := true;
end;
procedure Tperson.Button5Click(Sender: TObject);
var
t: Tperson_append;
begin
t := Tperson_append.Create(Self);
t.Show;
end;
procedure Tperson.Button2Click(Sender: TObject);
var
t: Tperson_edit;
begin
t := Tperson_edit.Create(self);
t.Load_data;
t.b_append.Click;
t.ShowModal;
end;
procedure Tperson.Button3Click(Sender: TObject);
var
t: Tperson_edit2;
begin
t := Tperson_edit2.Create(self);
t.Load_data;
t.ShowModal;
end;
procedure Tperson.add_TV;
var
tvNode, tvnode2, tvnode3: TTreeNode;
cun, she, s: string;
begin
dm1.Open_Q1('select distinct left(she_no,2) as cun from she');
with TreeView1, dm1 do
begin
Items.Clear;
q_1.First;
tvNode := Items.Add(nil, '所有村');
while not Q_1.Eof do
begin
cun := trim(Q_1.fieldbyname('cun').AsString);
tvnode2 := Items.AddChild(tvNode, cun + '村');
s := 'select substring(she_no,3,1) as she,she_name,she_master from she where left(she_no,2)='
+ string_sqlText(cun);
dm1.Open_Q2(s);
while not q_2.Eof do
begin
she := trim(Q_2.fieldbyname('she').AsString);
s := she + '社(' + trim(Q_2.fieldbyname('she_name').AsString) + ':社长:'
+ trim(Q_2.fieldbyname('she_master').AsString) + ')';
tvnode3 := Items.AddChild(tvNode2, s);
q_2.Next;
end;
Q_1.Next;
end;
end;
end;
procedure Tperson.FormCreate(Sender: TObject);
begin
// add_TV;
if FileExists(main.App_path + 'person.txt') then
TreeView1.LoadFromFile(main.App_path + 'person.txt');
end;
procedure Tperson.TreeView1Click(Sender: TObject);
var
s, she, n_l: string;
Mnode: TTreeNode;
begin
if not dm1.A_Person.Active then
begin
with dm1.A_Person do
begin
Close;
Parameters.ParamByName('she').Value := '%';
open;
end;
with dm1.A_Person_R do
begin
Close;
Parameters.ParamByName('she').Value := '%';
open;
end;
end;
case TreeView1.Selected.Level of
3:
begin
n_l := TreeView1.Selected.Text;
Mnode := TreeView1.Selected.Parent;
she := LeftStr(Mnode.Text, 1);
Mnode := Mnode.Parent;
she := LeftStr(Mnode.Text, 2) + she;
s := 'name like ' + string_sqlText(n_l + '%') +
' and pno like ' + string_sqlText(she + '%');
// MessageDlg(s, mtWarning, [mbok], 0);
end;
2:
begin
she := LeftStr(TreeView1.Selected.Text, 1);
Mnode := TreeView1.Selected.Parent;
she := LeftStr(Mnode.Text, 2) + she;
s := 'pno like ' + string_sqlText(she + '%');
end;
1:
begin
she := LeftStr(TreeView1.Selected.Text, 2);
s := 'pno like ' + string_sqlText(she + '%');
end;
0:
begin
s := '';
end;
end;
dm1.a_person_R.Filter := s;
dm1.A_person_r.Filtered := true;
dm1.a_person.Filter := s;
dm1.A_person.Filtered := true;
end;
procedure Tperson.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := caFree;
end;
procedure Tperson.BitBtn3Click(Sender: TObject);
var
s: string;
begin
s := main.dw + main.ACOUNT_YEAR + '年农户花名册';
with Tdbgrideh_print.Create(self) do
begin
PrintDBGridEh1.DBGridEh := DBGridEh1;
L_TITLE_CENTER.Caption := s;
s := '报表时间:' + DateToStr(Date);
L_GRIDE_BEFOR.Caption := s;
ShowModal;
end;
end;
procedure Tperson.BitBtn5Click(Sender: TObject);
begin
if SaveDialog1.Execute then
begin
if SaveDialog1.FileName <> '' then
begin
if UpperCase(Copy(SaveDialog1.FileName, Length(SaveDialog1.FileName) -
2, 3)) <> 'XLS' then
SaveDialog1.FileName := SaveDialog1.FileName + '.XLS';
if PageControl1.ActivePageIndex = 0 then
SaveDBGridEhToExportFile(TDBGridEhExportAsXLS, DBGridEh1,
SaveDialog1.FileName, true)
else
SaveDBGridEhToExportFile(TDBGridEhExportAsXLS, DBGridEh2,
SaveDialog1.FileName, true);
MessageDlg('网格数据已成功导出到文件!', mtWarning, [mbok], 0);
end;
end;
end;
procedure Tperson.b_delClick(Sender: TObject);
var
s: string;
begin
if PageControl1.ActivePageIndex = 0 then
begin
if MessageDlg('真的确定删除 [' +
trim(dm1.A_Person.fieldbyname('name').AsString) + ' ]吗?', mtWarning,
mbOKCancel, 0) = idok then
begin
s := 'update person set state=1 where person_id=' +
dm1.A_Person.fieldbyname('person_id').AsString;
dm1.EXE_SQL(s);
s := dm1.A_Person.fieldbyname('person_id').AsString;
dm1.A_Person.Requery();
dm1.A_person_r.Requery();
dm1.A_Person.Locate('person_id', StrToInt(s) - 1, []);
end;
end
else
begin
if MessageDlg('真的确定还原 [' +
trim(dm1.A_Person_R.fieldbyname('name').AsString) + ' ]吗?', mtWarning,
mbOKCancel, 0) = idok then
begin
s := 'update person set state=0 where person_id=' +
dm1.A_Person_r.fieldbyname('person_id').AsString;
dm1.EXE_SQL(s);
s := dm1.A_Person_r.fieldbyname('person_id').AsString;
dm1.A_Person.Requery();
dm1.A_person_r.Requery();
dm1.A_Person_r.Locate('person_id', StrToInt(s) - 1, []);
end;
end;
end;
procedure Tperson.PageControl1Change(Sender: TObject);
begin
if PageControl1.ActivePageIndex = 0 then
b_del.Caption := '删除(&D)'
else
b_del.Caption := '还原(&U)';
end;
procedure Tperson.Button4Click(Sender: TObject);
begin
main.add_tv(treeview1);
TreeView1.SaveToFile(main.App_path + 'person.txt');
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -