⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 khzlcx.pas

📁 服务信息管理系统
💻 PAS
字号:
unit khzlcx;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, ComCtrls, Grids, DBGridEh, DBGrids, StdCtrls,
  TDSuperEdit, Buttons, LbSpeedButton, DB, DBTables, ImgList;

type
  Tfrmkhzlcx = class(TForm)
    Panel1: TPanel;
    DqmlView: TTreeView;
    Panel2: TPanel;
    Splitter1: TSplitter;
    Panel3: TPanel;
    DBGridEh1: TDBGridEh;
    Splitter2: TSplitter;
    ButtonOk: TLbSpeedButton;
    ButtonCancel: TLbSpeedButton;
    dqmlTable: TTable;
    dqxxDataSource: TDataSource;
    khxxQuery: TQuery;
    khgjTable: TTable;
    khxxDataSource: TDataSource;
    KhgjDataSource: TDataSource;
    ImageList1: TImageList;
    DBGrid2: TDBGrid;
    Panel4: TPanel;
    SpeedButton1: TSpeedButton;
    CzEdit: TTDSuperEdit;
    procedure ButtonCancelClick(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure FormCreate(Sender: TObject);
    procedure DqmlViewClick(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure CzEditChange(Sender: TObject);
    procedure khxxQueryFilterRecord(DataSet: TDataSet;
      var Accept: Boolean);
    procedure DBGridEh1DblClick(Sender: TObject);
    procedure ButtonOkClick(Sender: TObject);
    procedure DqmlViewChange(Sender: TObject; Node: TTreeNode);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  frmkhzlcx: Tfrmkhzlcx;
  lsbl_cxnr: string;
  khzlcx_data: string;

implementation

uses mainform;

{$R *.dfm}

procedure Tfrmkhzlcx.ButtonCancelClick(Sender: TObject);
begin
  selecttext1 := '';
  Close;
end;

procedure Tfrmkhzlcx.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  Action := caFree;
  frmkhzlcx := nil
end;

procedure Tfrmkhzlcx.FormCreate(Sender: TObject);
var
  pCode, yCode, pName: string;
  MainNode, yNode, zNode: TTreeNode;
begin
  MainNode := TTreeNode.Create(DqmlView.Items);
  yNode := TTreeNode.Create(DqmlView.Items);
  zNode := TTreeNode.Create(DqmlView.Items);
  dqmlView.Items.Clear;
  if dqmlTable.active = False then dqmlTable.active := True;
  dqmlTable.first;
  yCode := Trim(dqmlTable.FieldByName('dq_bh').AsString);
  DqmlView.Items.BeginUpdate;
  while not dqmlTable.eof do
    begin
      pCode := Trim(dqmlTable.FieldByName('dq_bh').AsString);
      pName := Trim(dqmlTable.FieldByName('dq_mc').AsString);
      case length(pCode) of
        3:
          begin
            MainNode := DqmlView.Items.AddChild(nil, pCode + ' ' + pName);
            yNode := MainNode;
          end;
        6:
          begin
            pCode := Copy(pCode, 4, 3);
            MainNode := DqmlView.Items.AddChild(yNode, pCode + ' ' + pName);
            zNode := MainNode;
          end;
        9:
          begin
            pCode := Copy(pCode, 7, 3);
            MainNode := DqmlView.Items.AddChild(zNode, pCode + ' ' + pName)
          end;
      end;
      Mainnode.SelectedIndex := 1;
      Mainnode.ImageIndex := 0;
      dqmlTable.Next;
    end;
  DqmlView.Items.EndUpdate;
  dqmlTable.Close;
  lsbl_cxnr := '';
end;


procedure Tfrmkhzlcx.DqmlViewClick(Sender: TObject);
var
  lsbl_dqbh, lsbl_dqbh2, lsbl_dqbhcx: string;
  lsbl_word: Word;
  lsbl_dqjb, lsbl_x: Integer;
  lsbl_node: TTreeNode;
begin
  if DqmlView.Selected <> nil then
    begin
      LockWindowUpdate(handle);
      lsbl_node := DqmlView.Selected;
      lsbl_dqjb := DqmlView.Selected.Level;
      lsbl_dqbh := Trim(DqmlView.Selected.Text);
      lsbl_word := Pos(' ', lsbl_dqbh);
      lsbl_dqbh := Copy(lsbl_dqbh, 1, lsbl_word - 1);
      for lsbl_x := 0 to lsbl_dqjb - 1 do
        begin
          lsbl_dqbh2 := Trim(lsbl_node.Parent.Text);
          lsbl_word := Pos(' ', lsbl_dqbh2);
          lsbl_dqbh2 := Copy(lsbl_dqbh2, 1, lsbl_word - 1);
          lsbl_dqbh := lsbl_dqbh2 + lsbl_dqbh;
          lsbl_node := lsbl_node.Parent;
        end;
      lsbl_dqbhcx := lsbl_dqbh + '%';
      with khxxquery do
        begin
          Filtered := False;
          Close;
          SQL.Clear;
          SQL.Add('Select * From khxxview');
          SQL.Add('where (kh_dqbh like ''' + lsbl_dqbhcx + '''' + ') order by kh_bh');
          Open;
        end;
      CzEdit.Text := '';
      LockWindowUpdate(0);
    end;
end;

procedure Tfrmkhzlcx.FormShow(Sender: TObject);
begin
  if DqmlView.Items.Count <> 0 then
    begin
      DqmlView.Items[0].Selected := True;
      DqmlView.OnClick(Sender);
      KhgjTable.Active := True;
    end;
end;

procedure Tfrmkhzlcx.CzEditChange(Sender: TObject);
begin
  lsbl_cxnr := Trim(CzEdit.text);
  if lsbl_cxnr = '' then
    begin
      khxxquery.OnFilterRecord := nil;
      khxxquery.Filtered := False;
    end
  else
    begin
      khxxquery.OnFilterRecord := khxxqueryFilterRecord;
      khxxquery.Filtered := True;
    end;
end;

procedure Tfrmkhzlcx.khxxQueryFilterRecord(DataSet: TDataSet;
  var Accept: Boolean);
begin
  Accept := (sysform.StrLike(lsbl_cxnr, KhxxQuery.FieldByName('kh_bh').AsString))
    or (sysform.StrLike(lsbl_cxnr, KhxxQuery.FieldByName('kh_mc').AsString))
    or (sysform.StrLike(lsbl_cxnr, KhxxQuery.FieldByName('kh_zjm').AsString))
    or (sysform.StrLike(lsbl_cxnr, KhxxQuery.FieldByName('kh_dh').AsString))
    or (sysform.StrLike(lsbl_cxnr, KhxxQuery.FieldByName('kh_lxr').AsString))
    or (sysform.StrLike(lsbl_cxnr, KhxxQuery.FieldByName('kh_sh').AsString));
end;

procedure Tfrmkhzlcx.DBGridEh1DblClick(Sender: TObject);
begin
  selecttext1 := Trim(khxxquery.FieldByName('kh_bh').AsString);
  selecttext2 := Trim(khxxquery.FieldByName('kh_mc').AsString);
  selecttext3 := Trim(khgjtable.FieldByName('gj_gjrq').AsString);
  selecttext4 := Trim(khgjtable.FieldByName('gj_jqxh').AsString);
  Close;
end;

procedure Tfrmkhzlcx.ButtonOkClick(Sender: TObject);
begin
  DbGridEh1.OnDblClick(Sender);
end;

procedure Tfrmkhzlcx.DqmlViewChange(Sender: TObject; Node: TTreeNode);
begin
  DqmlView.OnClick(Sender);
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -