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

📄 tbltreeview.pas

📁 pde专用vcl
💻 PAS
📖 第 1 页 / 共 3 页
字号:
      if ThisNode <> nil then
      begin
        NewNode := Self.items.AddChildObject(ThisNode, ItemList[2], FKey);
      end
      else
      begin
        //NewNode:=Self.items.AddObject(nil, ItemList[2], FKey);
        Exit;
      end;
    end;
    //节点类型
    if ItemList[1] = 'MMROOM' then
    begin
      NewNode.ImageIndex := 0;
      NewNode.SelectedIndex := 0;
    end;
    if ItemList[1] = 'CLSC' then
    begin
      NewNode.ImageIndex := 1;
      NewNode.SelectedIndex := 1;
    end;
    if ItemList[1] = 'USET' then
    begin
      NewNode.ImageIndex := 2;
      NewNode.SelectedIndex := 2;
    end;
    NewNode.Selected := true;
  finally
    Self.Items.EndUpdate;
  end;
end;

function TTBLTreeView.GetValueBySQL(strSQL: string): string;
var
  adoRS: TADOQuery;
begin
  Result := '''';
  try
    adoRS := TADOQuery.Create(nil);
    adoRS.Connection := FADOconn;
    adoRS.SQL.Add(strSQL);
    adoRS.Open;
    if adoRS.RecordCount > 0 then
      if adoRS.Fields[0] = nil then
        Result := ''
      else
        Result := adoRS.Fields[0].AsString;
    adoRS.Close;
    adoRS.Free;
  except
    on E: Exception do
      Messagebox(self.Handle,
        PAnsiChar('数据库操作失败!请检查数据连接是否正常。' + chr(10) + chr(13)
        +
        '详细错误信息如下:' + chr(10) + chr(13) + E.Message),
        PAnsiChar('信息'),
        MB_OK + MB_ICONINFORMATION);
  end;
end;

function TTBLTreeView.GetValuesBySQL(strSQL: string): TStrings;
var
  adoRS: TADOQuery;
  ValueTs: TStrings;
  iLoop: Integer;
begin
  Result := nil;
  ValueTs := TStringList.Create;
  try
    adoRS := TADOQuery.Create(nil);
    adoRS.Connection := FADOconn;
    adoRS.SQL.Add(strSQL);
    adoRS.Open;
    if adoRS.RecordCount > 0 then
    begin
      for iLoop := 0 to adoRS.Fields.Count - 1 do
      begin
        if adoRS.Fields[iLoop].IsNull then
          ValueTs.Add('')
        else
          ValueTs.Add(adoRS.Fields[iLoop].AsString);
      end;
    end;
    Result := ValueTs;
    adoRS.Close;
    adoRS.Free;
  except
    on E: Exception do
      Messagebox(self.Handle,
        PAnsiChar('数据库操作失败!请检查数据连接是否正常。' + chr(10) + chr(13)
        +
        '详细错误信息如下:' + chr(10) + chr(13) + E.Message),
        PAnsiChar('信息'),
        MB_OK + MB_ICONINFORMATION);
  end;
end;

procedure TTBLTreeView.TreeModifyItem(ItemList: TStrings);
var
  FKey: PTNKEY;
begin
  New(FKey);
  FKey^.ID := ItemList[0];
  FKey^.NODETYPE := ItemList[1];
  FKey^.TBLNAME := ItemList[2];
  FKey^.MMROOMID := ItemList[3];
  FKey^.TBLPROPERTY := ItemList[4];
  FKey^.TBLTYPE := ItemList[5];
  FKey^.PARENTID := ItemList[6];
  Self.Items.BeginUpdate;
  try
    Self.Selected.Data := FKey;
    Self.Selected.Text := ItemList[2];
    if ItemList[1] = 'MMROOM' then
    begin
      Self.Selected.ImageIndex := 0;
      Self.Selected.SelectedIndex := 0;
    end;
    if ItemList[1] = 'CLSC' then
    begin
      Self.Selected.ImageIndex := 1;
      Self.Selected.SelectedIndex := 1;
    end;
    if ItemList[1] = 'USET' then
    begin
      Self.Selected.ImageIndex := 2;
      Self.Selected.SelectedIndex := 2;
    end;
  finally
    Self.Items.EndUpdate;
  end;
end;

//移除节点

procedure TTBLTreeView.TreeRemoveItem();
begin
  Self.Items.BeginUpdate;
  try
    Self.Selected.Delete;
  finally
    Self.Items.EndUpdate;
  end;
end;

procedure TTBLTreeView.TreeRemoveItem(ID: string);
var
  STreeNode: TTreeNode;
begin
  Self.Items.BeginUpdate;
  try
    STreeNode := TreeFindItem(nil, ID);
    if not (STreeNode = nil) then
      STreeNode.Delete;
  finally
    Self.Items.EndUpdate;
  end;
end;
//移动节点

procedure TTBLTreeView.TreeMoveItem(ParentID: string; ID: string);
begin
  if ParentID = PTNKEY(TreeFindItem(nil, ID).Parent.Data)^.ID then
    Exit;
  TreeFindItem(nil, ID).MoveTo(TreeFindItem(nil, ParentID), naAddChild);
end;

procedure TTBLTreeView.TreeLocation(ID: string);
begin
  TreeFindItem(nil, ID).Selected := true;
end;

//得到节点ID值

function TTBLTreeView.GetTreeNodeID(): string;
begin
  if Self.Items.Count = 0 then
    Result := '0'
  else
  begin
    if Copy(PTNKEY(Self.Selected.Data)^.ID, 1, 1) = 'M' then
      Result := Copy(PTNKEY(Self.Selected.Data)^.ID, 2,
        Length(PTNKEY(Self.Selected.Data)^.ID) - 1)
    else
      Result := PTNKEY(Self.Selected.Data)^.ID;
  end;
end;

function TTBLTreeView.GetTreeNodeID(ID: string): string;
begin
  if Self.Items.Count = 0 then
    Result := '0'
  else
  begin
    if Copy(PTNKEY(TreeFindItem(nil, ID).Data)^.ID, 1, 1) = 'M' then
      Result := Copy(PTNKEY(TreeFindItem(nil, ID).Data)^.ID, 2,
        Length(PTNKEY(TreeFindItem(nil, ID).Data)^.ID) - 1)
    else
      Result := PTNKEY(TreeFindItem(nil, ID).Data)^.ID;
  end;
end;
//得到节点NODETYPE值

function TTBLTreeView.GetTreeNodeNODETYPE(): string;
begin
  if Self.Items.Count = 0 then
    Result := ''
  else
    Result := PTNKEY(Self.Selected.Data)^.NODETYPE;
end;

function TTBLTreeView.GetTreeNodeNODETYPE(ID: string): string;
begin
  if Self.Items.Count = 0 then
    Result := ''
  else
    Result := PTNKEY(TreeFindItem(nil, ID).Data)^.NODETYPE;
end;
//得到节点TBLNAME值

function TTBLTreeView.GetTreeNodeTBLNAME(): string;
begin
  if Self.Items.Count = 0 then
    Result := ''
  else
    Result := PTNKEY(Self.Selected.Data)^.TBLNAME;
end;

function TTBLTreeView.GetTreeNodeTBLNAME(ID: string): string;
begin
  if Self.Items.Count = 0 then
    Result := ''
  else
    Result := PTNKEY(TreeFindItem(nil, ID).Data)^.TBLNAME;
end;
//得到节点MMROOMID值

function TTBLTreeView.GetTreeNodeMMROOMID(): string;
begin
  if Self.Items.Count = 0 then
    Result := ''
  else
    Result := PTNKEY(Self.Selected.Data)^.MMROOMID;
end;

function TTBLTreeView.GetTreeNodeMMROOMID(ID: string): string;
begin
  if Self.Items.Count = 0 then
    Result := ''
  else
    Result := PTNKEY(TreeFindItem(nil, ID).Data)^.MMROOMID;
end;

//得到节点TBLPROPERTY值

function TTBLTreeView.GetTreeNodeTBLPROPERTY(): string;
begin
  if Self.Items.Count = 0 then
    Result := ''
  else
    Result := PTNKEY(Self.Selected.Data)^.TBLPROPERTY;
end;

function TTBLTreeView.GetTreeNodeTBLPROPERTY(ID: string): string;
begin
  if Self.Items.Count = 0 then
    Result := ''
  else
    Result := PTNKEY(TreeFindItem(nil, ID).Data)^.TBLPROPERTY;
end;
//得到节点TBLTYPE值

function TTBLTreeView.GetTreeNodeTBLTYPE(): string;
begin
  if Self.Items.Count = 0 then
    Result := ''
  else
    Result := PTNKEY(Self.Selected.Data)^.TBLTYPE;
end;

function TTBLTreeView.GetTreeNodeTBLTYPE(ID: string): string;
begin
  if Self.Items.Count = 0 then
    Result := ''
  else
    Result := PTNKEY(TreeFindItem(nil, ID).Data)^.TBLTYPE;
end;
//得到节点PARENTID值

function TTBLTreeView.GetTreeNodePARENTID(): string;
begin
  if Self.Items.Count = 0 then
    Result := ''
  else
    Result := PTNKEY(Self.Selected.Data)^.PARENTID;
end;

function TTBLTreeView.GetTreeNodePARENTID(ID: string): string;
begin
  if Self.Items.Count = 0 then
    Result := ''
  else
    Result := PTNKEY(TreeFindItem(nil, ID).Data)^.PARENTID;
end;

//角色的档案权限树

procedure TTBLTreeView.TreeCreateByRolePower(RoleCode: string; DATA: string);
var
  adoquery: TADOQuery;
  itemList: TStrings;
  strSql: string;
  sT: TStrings;
  strShowPower: string;
begin
  try
    //建立档案室
    strSql := 'SELECT ID,C_MMROOMNAME FROM SYS_MMROOM ORDER BY C_MMROOMCODE';

    adoquery := TADOQuery.Create(self);
    adoquery.Connection := FADOconn;

    adoquery.SQL.add(strSql);
    adoquery.Open;
    Self.Items.Clear;

⌨️ 快捷键说明

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