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

📄 uaddustandnode.pas

📁 cxTreeList使用Demo
💻 PAS
字号:
unit uAddUStandNode;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Buttons, ExtCtrls, DB, DBClient;

type
  TfrmUnStandItem = class(TForm)
    edtWbs: TEdit;
    edtItem: TEdit;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    edtName: TEdit;
    Label4: TLabel;
    cboUnit: TComboBox;
    rgoItem: TRadioGroup;
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;
    Bevel1: TBevel;
    cdsLst: TClientDataSet;
    lblCurName: TLabel;
    procedure rgoItemClick(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
  private
    { Private declarations }
    sItemWbs:string;
  public
    { Public declarations }
  end;

var
  frmUnStandItem: TfrmUnStandItem;
  {调用新增非标准项}
  function AddUnStandItem(curlstData:OleVariant;curItemWbs,CurItemName:string;
    out nWbs,nName,nUnit,sItem:string;out LevelType:integer):Boolean;
  {curlstData:当前树状的所在的数据集
  curItemWbs:当前节点所在的WBS值
  CurItemName:当前节点所在的名称
  nWbs:新增后的WBS值
  nName:新增后的名称
  nUnit:新增后的单位名称
  sItem:新增后的清单编码
  LevelType:新增后的选项值
  }
implementation


{$R *.dfm}
function AddUnStandItem(curlstData:OleVariant;curItemWbs,CurItemName:string;out nWbs,nName,nUnit,sItem:string;out LevelType:integer):Boolean;
begin
  result:=False;
  with TfrmUnStandItem.Create(nil) do
  try
    cdsLst.Data:=curlstData;
    lblCurName.Caption:=CurItemName;
    sItemWbs:=curItemWbs;
    edtWbs.Text:='';
    edtItem.Text:='';
    edtName.Text:='';
    cboUnit.Text:='';
    if showmodal=MrOk then
    begin
      nWbs:=edtWbs.Text;
      nName:=edtName.Text;
      nUnit:=cboUnit.Text;
      sItem:=edtItem.Text;
      LevelType:=rgoItem.ItemIndex;
      result:=True;
    end;
  finally
    free;
  end;
end;

procedure TfrmUnStandItem.rgoItemClick(Sender: TObject);
begin
  if rgoItem.ItemIndex=0 then
    edtWbs.Text:=sItemWbs+'-1'
  else if rgoItem.ItemIndex=1 then
    edtWbs.Text:=sItemWbs+'+1'
  else if rgoItem.ItemIndex=2 then
    edtWbs.Text:=sItemWbs+'.+1';
end;

procedure TfrmUnStandItem.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
  if ModalResult=Mrok then
  begin
    if trim(edtWbs.text)='' then
    begin
      Application.MessageBox('系统编号不能为空!','提示',0);
      Action:=caNone;
      exit;
    end;
    cdsLst.IndexFieldNames:='WBS';
    if cdsLst.FindKey([edtWbs.Text]) then
    begin
      Application.MessageBox('系统编号已存在!','提示',0);
      Action:=caNone;
      exit;
    end;
    if Trim(edtName.Text)='' then
    begin
      Application.MessageBox('项目名称不能为空!','提示',0);
      Action:=caNone;
      exit;
    end;
    if Trim(cboUnit.Text)='' then
    begin
      Application.MessageBox('单位不能为空!','提示',0);
      Action:=caNone;
      exit;
    end;

  end;
end;

end.

⌨️ 快捷键说明

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