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

📄 u_edit.pas

📁 Delphi 应用举例
💻 PAS
字号:
unit u_edit;
{PUBDIST}

interface

uses
  IWAppForm, IWApplication, IWTypes, Classes, Controls, IWControl,
  IWTreeview, IWCompLabel, IWCompMemo, IWDBStdCtrls, client_navigator,
  client_dbgrid, IWHiddenField, client_ds, Forms, u_Frame, U_frame_head,
  IWGrids, IWDBGrids, IWCompButton, IWCompEdit, IWCompRectangle;

type

  TformMainedit = class(TIWAppForm)
    IWTreeView1: TIWTreeView;
    Frame21: TFrame2;
    IWDBGrid1: TIWDBGrid;
    IWDBMemo1: TIWDBMemo;
    IWDBNavigator1: TIWDBNavigator;
    IWDBEdit1: TIWDBEdit;
    IWLabel1: TIWLabel;
    IWLabel2: TIWLabel;
    IWDBEdit2: TIWDBEdit;
    IWDBEdit3: TIWDBEdit;
    IWDBEdit4: TIWDBEdit;
    IWLabel3: TIWLabel;
    IWLabel4: TIWLabel;
    Frame31: TFrame3;
    IWRectangle1: TIWRectangle;
    IWRectangle2: TIWRectangle;
    procedure IWAppFormCreate(Sender: TObject);
    procedure IWAppFormDestroy(Sender: TObject);
    procedure IWDBNavigator1Insert(Sender: TObject);
    procedure IWDBNavigator1Delete(Sender: TObject);
    procedure IWDBNavigator1Post(Sender: TObject);

  public
    list:TStringList;
    Insert_flag:boolean;
    procedure firstload;
    procedure treeviewItem_click(sender:TObject) ;
  end;

implementation
{$R *.dfm}

uses
  ServerController,datamoduleUnit,SysUtils;



procedure TformMainedit.firstload;
var u:string;
    ys,ms:array[1..12]of integer;
    y_cnt,m_cnt,i,j:integer;
    s,ss,sy,sm,sd:string;
    n,nn:TIWTreeViewItem;
begin
  u:=UserSession.userID;
  IWTreeView1.Items[0].subItems.Clear;
  list.Clear;
  with datamodule1.Qry_tmp do begin
     close;
     sql.Clear;
     sql.Text:='select distinct fyear from demo_msg where userID="'+u+'"';
     open;
     first;
     if isempty then exit;
     y_cnt:=0;
     repeat
        y_cnt:=y_cnt+1;
        ys[Y_cnt]:=fields[0].asInteger;
        next;
     until eof;
     close;
     for i:=1 to  Y_cnt do begin
        n:=IWTreeView1.Items[0].subItems.Add;
        sy:=IntToStr(ys[i]);
        n.Caption:=sy;
        sy:='fyear='+sy;
        //
        sql.Clear;
        sql.Text:='select distinct fmonth from demo_msg where userID="'+u+'" and '+sy;
        open;
        first;
        m_cnt:=0;
        repeat
            m_cnt:=m_cnt+1;
            ms[m_cnt]:=fields[0].asInteger;
            next;
        until eof;
        close;

        for j:=1 to m_cnt do begin
            nn:=n.SubItems.Add;
            ss:=IntToStr(ms[j]);
            nn.Caption:=ss;
            sm:=sy+' and fmonth='+ss;

            sql.Clear;
            sql.Text:='select distinct fday from demo_msg where userID="'+u+'" and '+sm;
            open;
            first;
            repeat
                ss:=fields[0].asString;
                sd:=sm+' and fday='+ss;
                with nn.SubItems.Add do begin
                     caption:=ss;
                     list.Add(name+'='+sd);
                     onclick:=treeviewItem_click;
                end;
                next;
            until eof;
            close;
        end;
     end;
  end;
end;

procedure TformMainedit.IWAppFormCreate(Sender: TObject);
begin
   insert_flag:=false;
   list:=TStringList.Create;
   self.firstload;
   with datamodule1.Qry_inf do begin
      close;
      sql.Clear;
      sql.Text:='select * from demo_msg where 1>2';
      open;
   end;
   with datamodule1.ClientDataSet_edit do begin
      close;
      Open;
   end;
   //
   Frame31.lbluser.Caption:='当前用户:'+Usersession.userID;
    Frame31.lblCount.Caption:='在线用户数:'+IntToStr(UserOnLine);
end;

procedure TformMainedit.IWAppFormDestroy(Sender: TObject);
begin
  list.Free;
end;
procedure TformMainedit.treeviewItem_click(sender:TObject) ;
var n:TIWTreeViewItem;
    ss,s:string;
    i:integer;
begin
    n:=sender as TIWTreeViewItem;
    s:=n.name;

    s:=list.Values[s];
    if s='' then exit;
    ss:='select * from demo_msg where UserID='''+UserSession.userID+'''';
    s:=ss+' and '+s;
    with datamodule1.Qry_inf do begin
         close;
         sql.Clear;
         sql.Text:=s;
         open;
    end;
    with datamodule1.ClientDataSet_edit do begin
      close;
      Open;
   end;
end;
procedure TformMainedit.IWDBNavigator1Insert(Sender: TObject);
begin
   insert_flag:=true;
end;

procedure TformMainedit.IWDBNavigator1Delete(Sender: TObject);
begin
   firstLoad
end;

procedure TformMainedit.IWDBNavigator1Post(Sender: TObject);
begin
   if insert_flag then firstLoad;
   insert_flag:=false;
end;

end.

⌨️ 快捷键说明

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