📄 browse.pas
字号:
unit browse;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, dxtree, dxdbtree, ImgList, cxStyles, cxCustomData,
cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit, DB, cxDBData,
cxSplitter, cxGridLevel, cxClasses, cxControls, cxGridCustomView,
cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxGrid, Menus,
cxGridCustomPopupMenu, cxGridPopupMenu, dxPSGlbl, dxPSUtl, dxPSEngn,
dxPrnPg, dxBkgnd, dxWrap, dxPrnDev, dxPSCompsProvider, dxPSFillPatterns,
dxPSEdgePatterns, dxPgsDlg, dxPSCore, dxPScxCommon, dxPScxGridLnk,
cxTextEdit, cxGridCardView, cxGridDBCardView, cxMemo, ExtCtrls, RpCon,
RpConDS, RpBase, RpSystem, RpDefine, RpRave;
type
TfrmBrowse = class(TForm)
DBTreeView1: TdxDBTreeView;
il1: TImageList;
GridPopupMenu: TcxGridPopupMenu;
PopupMenu: TPopupMenu;
miInsert: TMenuItem;
miDelete: TMenuItem;
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
N4: TMenuItem;
m1: TMenuItem;
dxComponentPrinter1: TdxComponentPrinter;
dxPrintStyleManager1: TdxPrintStyleManager;
dxComponentPrinter1Link1: TdxGridReportLink;
dxPrintStyleManager1Style1: TdxPSPrintStyle;
N5: TMenuItem;
cxGridPopupMenu1: TcxGridPopupMenu;
N6: TMenuItem;
N7: TMenuItem;
m2: TMenuItem;
Panel1: TPanel;
cxGrid1: TcxGrid;
tv1: TcxGridDBTableView;
tv1DBColumn1: TcxGridDBColumn;
tv1DBColumn2: TcxGridDBColumn;
tv1DBColumn3: TcxGridDBColumn;
tv1DBColumn4: TcxGridDBColumn;
tv1DBColumn5: TcxGridDBColumn;
tv1DBColumn6: TcxGridDBColumn;
tv1DBColumn7: TcxGridDBColumn;
tv1DBColumn8: TcxGridDBColumn;
tv1DBColumn9: TcxGridDBColumn;
tv1DBColumn10: TcxGridDBColumn;
tv1DBColumn11: TcxGridDBColumn;
tv1DBColumn12: TcxGridDBColumn;
tv1DBColumn13: TcxGridDBColumn;
tv1DBColumn14: TcxGridDBColumn;
tv1DBColumn15: TcxGridDBColumn;
tv1DBColumn16: TcxGridDBColumn;
lv1: TcxGridLevel;
cxGrid2: TcxGrid;
tv2: TcxGridDBTableView;
DV1: TcxGridDBCardView;
DV1DBCardViewRow1: TcxGridDBCardViewRow;
DV1DBCardViewRow2: TcxGridDBCardViewRow;
DV1DBCardViewRow3: TcxGridDBCardViewRow;
DV1DBCardViewRow4: TcxGridDBCardViewRow;
DV1DBCardViewRow5: TcxGridDBCardViewRow;
DV1DBCardViewRow6: TcxGridDBCardViewRow;
DV1DBCardViewRow7: TcxGridDBCardViewRow;
DV1DBCardViewRow8: TcxGridDBCardViewRow;
DV1DBCardViewRow9: TcxGridDBCardViewRow;
DV1DBCardViewRow10: TcxGridDBCardViewRow;
DV1DBCardViewRow11: TcxGridDBCardViewRow;
DV1DBCardViewRow12: TcxGridDBCardViewRow;
DV1DBCardViewRow13: TcxGridDBCardViewRow;
DV1DBCardViewRow14: TcxGridDBCardViewRow;
DV1DBCardViewRow15: TcxGridDBCardViewRow;
DV1DBCardViewRow16: TcxGridDBCardViewRow;
lv2: TcxGridLevel;
cxSplitter1: TcxSplitter;
dxComponentPrinter1Link2: TdxGridReportLink;
RvProject1: TRvProject;
RvSystem1: TRvSystem;
RvDataSetConnection1: TRvDataSetConnection;
N8: TMenuItem;
N9: TMenuItem;
procedure DBTreeView1AddNewItem(Sender: TObject;
var DBTreeNode: TdxDBTreeNode);
procedure FormCreate(Sender: TObject);
procedure DBTreeView1Change(Sender: TObject; Node: TTreeNode);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure miInsertClick(Sender: TObject);
procedure N3Click(Sender: TObject);
procedure miDeleteClick(Sender: TObject);
procedure N1Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure m1Click(Sender: TObject);
procedure N5Click(Sender: TObject);
procedure N7Click(Sender: TObject);
procedure m2Click(Sender: TObject);
procedure N8Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
frmBrowse: TfrmBrowse;
implementation
uses md, memo, register, main;
{$R *.dfm}
procedure TfrmBrowse.DBTreeView1AddNewItem(Sender: TObject;
var DBTreeNode: TdxDBTreeNode);
begin
if VarIsNull(DBTreeNode.ParentFieldValue) then
exit;
DBTreeNode.ImageIndex := 0;
DBTreeNode.SelectedIndex := 1;
end;
procedure TfrmBrowse.FormCreate(Sender: TObject);
begin
if not dm1.tblcity.Active then
dm1.tblcity.Open;
with Dm1.qryhuiyuan do
begin
close;
SQL.Clear;
SQL.Text := 'SELECT bm, xm, sex, birth,iif(birth is not null,year(date())-year(birth)+1,null)as age, star, shuxian, QQ, tel, email,zipcode, address,province , city, sj, bz from huiyuan ';
Open;
end;
tv1.ApplyBestFit(nil);
end;
procedure TfrmBrowse.DBTreeView1Change(Sender: TObject; Node: TTreeNode);
var
strsql: string;
szqy: string;
begin
strsql := 'SELECT bm, xm, sex, birth,iif(birth is not null,year(date())-year(birth)+1,null)as age, star, shuxian, QQ, tel, email,zipcode, address,province , city, sj, bz from huiyuan ';
if DBTreeView1.Selected.Parent <> nil then
begin
if DBTreeView1.Selected.Level = 1 then
strsql := strsql + ' where province=''' + Trim(dm1.tblcity.fieldbyname('city').AsString) + ''''
else
begin
szqy := DBTreeView1.Selected.Parent.Text;
strsql := strsql + ' where (province=''' + szqy + ''') and (city=''' + Trim(dm1.tblcity.fieldbyname('city').AsString) + ''')';
end;
end;
with Dm1.qryhuiyuan do
begin
close;
SQL.Clear;
SQL.Text := strsql;
Open;
end;
end;
procedure TfrmBrowse.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := caFree;
frmmain.mmBrowse.AutoGrayScale := True;
frmmain.mmquery.AutoGrayScale := true;
end;
procedure TfrmBrowse.miInsertClick(Sender: TObject);
begin
if Dm1.qryhuiyuan.RecordCount <= 0 then
exit;
Dm1.qrymemo.Close;
Dm1.qrymemo.SQL.Clear;
Dm1.qrymemo.SQL.Text := 'select * from jiaoyou where bm=''' + Dm1.qryhuiyuan.FieldValues['bm'] + '''';
Dm1.qrymemo.Open;
if Dm1.qrymemo.RecordCount <= 0 then
begin
Dm1.qrymemo.Insert;
Dm1.qrymemo.FieldByName('bm').AsString := Dm1.qryhuiyuan.FieldValues['bm'];
Dm1.qrymemo.FieldByName('addfriend').AsString := '';
end
else
begin
Dm1.qrymemo.edit;
end;
frmmemo := Tfrmmemo.Create(Application);
frmmemo.Label1.Caption := '具体记录:';
frmmemo.Caption := '会员[ ' + Dm1.qryhuiyuan.FieldValues['xm'] + ' ]交友情况登记';
frmmemo.memo1.DataBinding.DataSource := Dm1.dsmemo;
frmmemo.memo1.DataBinding.DataField := 'addfriend';
frmmemo.ShowModal;
end;
procedure TfrmBrowse.N3Click(Sender: TObject);
begin
frmregister := Tfrmregister.Create(Application);
Dm1.qryhuiyuan.close;
dm1.qryhuiyuan.open;
end;
procedure TfrmBrowse.miDeleteClick(Sender: TObject);
begin
if Dm1.qryhuiyuan.RecordCount <= 0 then
exit;
Dm1.qrymemo.Close;
Dm1.qrymemo.SQL.Clear;
Dm1.qrymemo.SQL.Text := 'select * from tougao where bm=''' + Dm1.qryhuiyuan.FieldValues['bm'] + '''';
Dm1.qrymemo.Open;
if Dm1.qrymemo.RecordCount <= 0 then
begin
Dm1.qrymemo.Insert;
Dm1.qrymemo.FieldByName('bm').AsString := Dm1.qryhuiyuan.FieldValues['bm'];
Dm1.qrymemo.FieldByName('tougao').AsString := '';
end
else
begin
Dm1.qrymemo.edit;
end;
frmmemo := Tfrmmemo.Create(Application);
frmmemo.Label1.Caption := '具体记录:';
frmmemo.Caption := '会员[ ' + Dm1.qryhuiyuan.FieldValues['xm'] + ' ]投稿情况登记';
frmmemo.memo1.DataBinding.DataSource := Dm1.dsmemo;
frmmemo.memo1.DataBinding.DataField := 'tougao';
frmmemo.ShowModal;
end;
procedure TfrmBrowse.N1Click(Sender: TObject);
begin
if Dm1.qryhuiyuan.RecordCount <= 0 then
exit;
Dm1.qrymemo.Close;
Dm1.qrymemo.SQL.Clear;
Dm1.qrymemo.SQL.Text := 'select * from yijian where bm=''' + Dm1.qryhuiyuan.FieldValues['bm'] + '''';
Dm1.qrymemo.Open;
if Dm1.qrymemo.RecordCount <= 0 then
begin
Dm1.qrymemo.Insert;
Dm1.qrymemo.FieldByName('bm').AsString := Dm1.qryhuiyuan.FieldValues['bm'];
Dm1.qrymemo.FieldByName('yijian').AsString := '';
end
else
begin
Dm1.qrymemo.edit;
end;
frmmemo := Tfrmmemo.Create(Application);
frmmemo.Label1.Caption := '具体记录:';
frmmemo.Caption := '会员[ ' + Dm1.qryhuiyuan.FieldValues['xm'] + ' ]意见登记';
frmmemo.memo1.DataBinding.DataSource := Dm1.dsmemo;
frmmemo.memo1.DataBinding.DataField := 'yijian';
frmmemo.ShowModal;
end;
procedure TfrmBrowse.N2Click(Sender: TObject);
begin
if Dm1.qryhuiyuan.RecordCount <= 0 then
exit;
Dm1.qrymemo.Close;
Dm1.qrymemo.SQL.Clear;
Dm1.qrymemo.SQL.Text := 'select * from huifu where bm=''' + Dm1.qryhuiyuan.FieldValues['bm'] + '''';
Dm1.qrymemo.Open;
if Dm1.qrymemo.RecordCount <= 0 then
begin
Dm1.qrymemo.Insert;
Dm1.qrymemo.FieldByName('bm').AsString := Dm1.qryhuiyuan.FieldValues['bm'];
Dm1.qrymemo.FieldByName('huifu').AsString := '';
end
else
begin
Dm1.qrymemo.edit;
end;
frmmemo := Tfrmmemo.Create(Application);
frmmemo.Label1.Caption := '具体记录:';
frmmemo.Caption := '会员[ ' + Dm1.qryhuiyuan.FieldValues['xm'] + ' ]回复情况登记';
frmmemo.memo1.DataBinding.DataSource := Dm1.dsmemo;
frmmemo.memo1.DataBinding.DataField := 'huifu';
frmmemo.ShowModal;
end;
procedure TfrmBrowse.m1Click(Sender: TObject);
begin
if dm1.qryhuiyuan.RecordCount > 0 then
Dm1.qryhuiyuan.Delete;
end;
procedure TfrmBrowse.N5Click(Sender: TObject);
begin
if cxGrid1.Visible then
dxComponentPrinter1.CurrentLinkIndex := 0
else
dxComponentPrinter1.CurrentLinkIndex := 1;
dxComponentPrinter1.Preview(True, nil);
end;
procedure TfrmBrowse.N7Click(Sender: TObject);
begin
N7.Checked := true;
m2.Checked := false;
if not cxGrid1.Visible then
begin
cxGrid2.Visible := false;
dv1.DataController.DataSource := nil;
cxGrid1.Visible := true;
tv1.DataController.DataSource := Dm1.dsqryhuiyuan;
end;
end;
procedure TfrmBrowse.m2Click(Sender: TObject);
begin
m2.Checked := true;
n7.Checked := false;
if not cxGrid2.Visible then
begin
cxGrid1.Visible := false;
tv1.DataController.DataSource := nil;
cxGrid2.Visible := true;
dv1.DataController.DataSource := Dm1.dsqryhuiyuan;
end;
end;
procedure TfrmBrowse.N8Click(Sender: TObject);
var
strsql: string;
reportname: string;
begin
strsql := 'SELECT huiyuan.bm, huiyuan.xm, huiyuan.sex, huiyuan.age, huiyuan.birth, huiyuan.star, ';
strsql := strsql + 'huiyuan.shuxian, huiyuan.QQ, huiyuan.tel, huiyuan.email, huiyuan.zipcode,';
strsql := strsql + ' huiyuan.address, huiyuan.province, huiyuan.city, huiyuan.sj, huiyuan.bz,';
strsql := strsql + ' jiaoyou.addfriend, tougao.tougao, yijian.yijian, huifu.huifu ';
strsql := strsql + ' FROM (((huiyuan INNER JOIN huifu ON huiyuan.bm = huifu.bm) INNER JOIN ';
strsql := strsql + ' jiaoyou ON huiyuan.bm = jiaoyou.bm) INNER JOIN tougao ON huiyuan.bm = tougao.bm)';
strsql := strsql + ' INNER JOIN yijian ON huiyuan.bm = yijian.bm ';
strsql := strsql + ' where huiyuan.bm=''' + Dm1.qryhuiyuan.FieldValues['bm'] + '''';
dm1.qryhydetail.Close;
Dm1.qryhydetail.SQL.Clear;
Dm1.qryhydetail.SQL.text := strsql;
dm1.qryhydetail.Open;
reportname := getcurrentdir + '\report.rav';
RvProject1.ProjectFile := reportname;
RvProject1.Execute;
Dm1.qryhydetail.Close;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -