.#selectcustlinkmanfrm.pas.1.4

来自「医药连锁经营管理系统源码」· 4 代码 · 共 170 行

4
170
字号
unit SelectCustLinkManFrm;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Menus, TFlatSpeedButtonUnit, ExtCtrls, RzStatus, TFlatPanelUnit,
  ActnList, ModuleAction, DB, DBClient, ckDBClient, MConnect, Grids,
  DBGridEh, DbUtilsEh, EhLibCDS, xEhLibCtl, StdCtrls, RzCmboBx, Mask, RzEdit, RzButton, ImgList,
  iMainFrm, DBCtrls, RzDBNav, RzPanel;

type
  TFrmSelectCustLinkMan = class(TForm)
    dbgSelectCustLinkMan: TxDBGridEh;
    Panel1: TPanel;
    Panel2: TPanel;
    DComm: TDCOMConnection;
    CdsSelectCustLinkMan: TckClientDataSet;
    DsSelectCustLinkMan: TDataSource;
    Label1: TLabel;
    edValue: TRzEdit;
    RzPanel3: TRzPanel;
    RzDBNavigator1: TRzDBNavigator;
    RzBitBtn2: TRzBitBtn;
    ImageList1: TImageList;
    RzBitBtn1: TRzBitBtn;
    CdsSelectCustLinkManCustNo: TStringField;
    CdsSelectCustLinkManLinkMan: TStringField;
    CdsSelectCustLinkManNickName: TStringField;
    CdsSelectCustLinkManSex: TStringField;
    CdsSelectCustLinkManBirthDay: TDateTimeField;
    CdsSelectCustLinkManDept: TStringField;
    CdsSelectCustLinkManDuty: TStringField;
    CdsSelectCustLinkManAddress: TStringField;
    CdsSelectCustLinkManTel1: TStringField;
    CdsSelectCustLinkManMobile: TStringField;
    procedure FormCreate(Sender: TObject);
    procedure RzBitBtn1Click(Sender: TObject);
    procedure dbgSelectCustLinkManDblClick(Sender: TObject);
    procedure RzBitBtn2Click(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure CdsSelectCustLinkManBeforeGetRecords(Sender: TObject;
      var OwnerData: OleVariant);
    procedure FormShow(Sender: TObject);
    procedure edValueChange(Sender: TObject);
    procedure edValueKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
  private
    IFmMain:iMainForm;
    SvrCustLinkMan:TDispatchConnection;
    CdsFieldProperty :TckClientDataSet;
    { Private declarations }
  public
    sSendCustNo : String;
    { Public declarations }
  end;

var
  FrmSelectCustLinkMan: TFrmSelectCustLinkMan;

Function SelectCustLinkMan(Var sCustNo:String;Var sLinkMan:String) : Boolean;

implementation

uses DBFuncs;

Const
  sFieldProPerty='Select * From SysFieldProperty Where TableName=''CustLinkmans''';           

{$R *.dfm}

Function SelectCustLinkMan(Var sCustNo:String;Var sLinkMan:String) : Boolean;
Begin
  Result := false;
  with TFrmSelectCustLinkMan.Create(NIl) do begin
    sSendCustNo := sCustNo;
    If Not(CdsSelectCustLinkMan.Active) Then CdsSelectCustLinkMan.Open;
    CdsSelectCustLinkMan.Filtered := False;
    if sLinkMan<>'' Then Begin
      edValue.Text := sLinkMan;
      CdsSelectCustLinkMan.Filter := ' LinkMan ='''+sLinkMan+'''';
    End;
    CdsSelectCustLinkMan.Filtered := True;
    if ShowModal=mrOk then begin
      sLinkMan  := CdsSelectCustLinkMan.FieldByName('LinkMan').AsString;
      Result := true;
    End;
  End;
End;

procedure TFrmSelectCustLinkMan.FormCreate(Sender: TObject);
begin
  IFmMain := (Application.MainForm as IMainForm);
  SvrCustLinkMan := IFmMain.GetConnection(Handle,'','CommonSvr.CommonRDM');
  CdsSelectCustLinkMan.RemoteServer := SvrCustLinkMan;

  CdsFieldProperty := TckClientDataSet.Create(Self);
  CdsFieldProPerty.ProviderName:='DspTemp';
  CdsFieldProPerty.RemoteServer:=SvrCustLinkMan;
end;

procedure TFrmSelectCustLinkMan.FormShow(Sender: TObject);
var
  sTableNames: string;
begin
  SysFieldXml(CdsFieldProPerty,sFieldProPerty,'TFrmSelectCustLinkMain.Xml');
  sTableNames := 'CustLinkmans';
  if cdsFieldProperty.Active then
    SetFieldProperty(CdsFieldProPerty,cdsSelectCustLinkMan,sTableNames);
end;

procedure TFrmSelectCustLinkMan.RzBitBtn1Click(Sender: TObject);
begin
  Close;
end;

procedure TFrmSelectCustLinkMan.dbgSelectCustLinkManDblClick(Sender: TObject);
begin
  if not CdsSelectCustLinkMan.IsEmpty then
    RzBitBtn2Click(Nil);
end;

procedure TFrmSelectCustLinkMan.RzBitBtn2Click(Sender: TObject);
begin
  If dbgSelectCustLinkMan.SelectedRows.Count<0 Then Begin
    Application.MessageBox('请先选择客户联系人!', '警告', MB_ICONINFORMATION);
    Exit;
  end;
  ModalResult := mrOK;    
end;

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

procedure TFrmSelectCustLinkMan.CdsSelectCustLinkManBeforeGetRecords(Sender: TObject;
  var OwnerData: OleVariant);
var val: Variant;
begin
  val := OwnerData;
  OwnerData := VarArrayCreate([0,1], varVariant);
  OwnerData[0] := val;
  OwnerData[1] := sSendCustNo;
end;

procedure TFrmSelectCustLinkMan.edValueChange(Sender: TObject);
const
  MatchFields: array[0..2] of string=('LinkMan','Sex','Duty');
var
  i: integer;
begin
  i := 0;
  try
    while (i<3)and(not CdsSelectCustLinkMan.Locate(MatchFields[i],edValue.Text,[loPartialKey,loCaseInsensitive])) do
      inc(i);
  except
  end;
end;

procedure TFrmSelectCustLinkMan.edValueKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if (Key=VK_UP)or(Key=VK_DOWN) then
    PostMessage(dbgSelectCustLinkMan.Handle,WM_KEYDOWN,Key,0);
end;

End.

⌨️ 快捷键说明

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