selectprovlinkmanfrm.pas
来自「医药连锁经营管理系统源码」· PAS 代码 · 共 184 行
PAS
184 行
unit SelectProvLinkManFrm;
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
TFrmSelectProvLinkMan = class(TForm)
dbgSelectProvLinkMan: TxDBGridEh;
Panel1: TPanel;
Panel2: TPanel;
DComm: TDCOMConnection;
CdsSelectProvLinkMan: TckClientDataSet;
DsSelectProvLinkMan: TDataSource;
Label1: TLabel;
edValue: TRzEdit;
RzPanel3: TRzPanel;
RzDBNavigator1: TRzDBNavigator;
RzBitBtn2: TRzBitBtn;
RzBitBtn1: TRzBitBtn;
CdsSelectProvLinkManProvNo: TStringField;
CdsSelectProvLinkManLinkMan: TStringField;
CdsSelectProvLinkManNickName: TStringField;
CdsSelectProvLinkManSex: TStringField;
CdsSelectProvLinkManBirthDay: TDateTimeField;
CdsSelectProvLinkManDept: TStringField;
CdsSelectProvLinkManDuty: TStringField;
CdsSelectProvLinkManAddress: TStringField;
CdsSelectProvLinkManTel1: TStringField;
CdsSelectProvLinkManMobile: TStringField;
ImageList1: TImageList;
procedure FormCreate(Sender: TObject);
procedure RzBitBtn1Click(Sender: TObject);
procedure dbgSelectProvLinkManDblClick(Sender: TObject);
procedure RzBitBtn2Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure CdsSelectProvLinkManBeforeGetRecords(Sender: TObject;
var OwnerData: OleVariant);
procedure FormShow(Sender: TObject);
procedure edValueChange(Sender: TObject);
procedure edValueKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure dbgSelectProvLinkManKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
private
IFmMain:iMainForm;
SvrProvLinkMan:TDispatchConnection;
CdsFieldProperty :TckClientDataSet;
{ Private declarations }
public
sSendProvNo : String;
{ Public declarations }
end;
var
FrmSelectProvLinkMan: TFrmSelectProvLinkMan;
Function SelectProvLinkMan(Var sProvNo:String;Var sLinkMan:String) : Boolean;
implementation
uses DBFuncs;
Const
sFieldProPerty='Select * From SysFieldProperty Where TableName=''ProvLinkmans''';
{$R *.dfm}
Function SelectProvLinkMan(Var sProvNo:String;Var sLinkMan:String) : Boolean;
Begin
Result := false;
with TFrmSelectProvLinkMan.Create(NIl) do begin
sSendProvNo := sProvNo;
If Not(CdsSelectProvLinkMan.Active) Then CdsSelectProvLinkMan.Open;
CdsSelectProvLinkMan.Filtered := False;
if sLinkMan<>'' Then Begin
edValue.Text := sLinkMan;
CdsSelectProvLinkMan.Filter := ' LinkMan ='''+sLinkMan+'''';
End;
CdsSelectProvLinkMan.Filtered := True;
if ShowModal=mrOk then begin
sLinkMan := CdsSelectProvLinkMan.FieldByName('LinkMan').AsString;
Result := true;
End;
End;
End;
procedure TFrmSelectProvLinkMan.FormCreate(Sender: TObject);
begin
IFmMain := (Application.MainForm as IMainForm);
SvrProvLinkMan := IFmMain.GetConnection(Handle,'','CommonSvr.CommonRDM');
CdsSelectProvLinkMan.RemoteServer := SvrProvLinkMan;
CdsFieldProperty := TckClientDataSet.Create(Self);
CdsFieldProPerty.ProviderName:='DspTemp';
CdsFieldProPerty.RemoteServer:=SvrProvLinkMan;
end;
procedure TFrmSelectProvLinkMan.FormShow(Sender: TObject);
var
sTableNames: string;
begin
SysFieldXml(CdsFieldProPerty,sFieldProPerty,'TFrmSelectProvLinkman.Xml');
sTableNames := 'ProvLinkmans';
if cdsFieldProperty.Active then
SetFieldProperty(CdsFieldProPerty,cdsSelectProvLinkMan,sTableNames);
end;
procedure TFrmSelectProvLinkMan.RzBitBtn1Click(Sender: TObject);
begin
Close;
end;
procedure TFrmSelectProvLinkMan.dbgSelectProvLinkManDblClick(Sender: TObject);
begin
if not CdsSelectProvLinkMan.IsEmpty then
RzBitBtn2Click(Nil);
end;
procedure TFrmSelectProvLinkMan.RzBitBtn2Click(Sender: TObject);
begin
If dbgSelectProvLinkMan.SelectedRows.Count<0 Then Begin
Application.MessageBox('请先选择厂商联系人!', '警告', MB_ICONINFORMATION);
Exit;
end;
ModalResult := mrOK;
end;
procedure TFrmSelectProvLinkMan.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
Action := caFree;
end;
procedure TFrmSelectProvLinkMan.CdsSelectProvLinkManBeforeGetRecords(Sender: TObject;
var OwnerData: OleVariant);
var val: Variant;
begin
val := OwnerData;
OwnerData := VarArrayCreate([0,1], varVariant);
OwnerData[0] := val;
OwnerData[1] := sSendProvNo;
end;
procedure TFrmSelectProvLinkMan.edValueChange(Sender: TObject);
const
MatchFields: array[0..2] of string=('LinkMan','Sex','Duty');
var
i: integer;
begin
i := 0;
try
if edValue.Text = '' then exit;
while (i<3)and(not CdsSelectProvLinkMan.Locate(MatchFields[i],edValue.Text,[loPartialKey,loCaseInsensitive])) do
inc(i);
except
end;
end;
procedure TFrmSelectProvLinkMan.edValueKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if (Key=VK_UP)or(Key=VK_DOWN) then begin
PostMessage(dbgSelectProvLinkMan.Handle,WM_KEYDOWN,Key,0);
Key :=0;
end;
end;
procedure TFrmSelectProvLinkMan.dbgSelectProvLinkManKeyDown(
Sender: TObject; var Key: Word; Shift: TShiftState);
begin
if key=13 then begin
edValue.SetFocus ;
key :=0;
end;
end;
End.
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?