eduset.pas

来自「pasa人力资源考勤管理系统」· PAS 代码 · 共 734 行 · 第 1/2 页

PAS
734
字号
procedure TFormeduset.DBGrid3DblClick(Sender: TObject);
begin
      if dbgrid4.SelectedIndex=0 then
      begin
         dbgrid8.Visible:=true;
         dbgrid8.setfocus;
      end;
end;

procedure TFormeduset.DBGrid8Exit(Sender: TObject);
begin
      dbgrid8.Visible:=false;
end;

procedure TFormeduset.DBGrid8DblClick(Sender: TObject);
begin
   Adoteacher.edit;
   with datamod do
   begin
      Adoteachername.asstring:=arypname.asstring;
      Adoteacherdept.asstring:=arypdeptno.asstring;
      Adoteacherprof.asstring:=arypprof.asstring;
      Adoteacherdegree.asstring:=arypdegreename.asstring;
      Adoteacherspecial.asstring:=arypcoursename.asstring;
      Dbgrid8.visible:=false;
   end;
end;

procedure TFormeduset.FormShow(Sender: TObject);
begin
       Adoplace.first;
       dbgrid5.columns[1].picklist.clear;
       while not Adoplace.eof do
       begin
           dbgrid5.Columns[1].PickList.Add(Adoplacename.asstring);
           Adoplace.next;
       end;
       Adoplace.first;
       Adocourse.first;
       dbgrid5.columns[2].PickList.Clear;
       while not Adocourse.eof do
       begin
           dbgrid5.Columns[2].PickList.Add(Adocoursecourse.asstring);
           Adocourse.next;
       end;
       adocourse.first;
       adoteacher.first;
       dbgrid5.columns[4].PickList.clear;
       while not adoteacher.eof do
       begin
           dbgrid5.columns[4].PickList.Add(adoteachername.asstring);
           adoteacher.next;
       end;
       adoteacher.first;
end;

procedure TFormeduset.PageControl1Changing(Sender: TObject;
  var AllowChange: Boolean);
begin
  (sender as Tpagecontrol).activepage.highlighted:=false;
end;

procedure TFormeduset.ToolButton4Click(Sender: TObject);
begin
  close;
end;

procedure TFormeduset.FormKeyPress(Sender: TObject; var Key: Char);
begin
    if (activecontrol=DBGrid1) or (activecontrol=DBGrid2) or
       (activecontrol=DBGrid3) or (activecontrol=DBGrid4) or (activecontrol=DBGrid5) then
       exit;
    if key=#13 then
    begin
      key:=#0;
      selectnext(activecontrol,true,true);
    end;
end;

procedure TFormeduset.AdoteacherAfterInsert(DataSet: TDataSet);
begin
  Adoteacherstate.asstring:='内训';
end;

procedure TFormeduset.DBGrid1TitleClick(Column: TColumn);
begin
  if f='DESC' then
    F:='ASC'
  ELSE
    F:='DESC';
  case pagecontrol1.ActivePageIndex of
  0:ADOcourse.Sort :=column.FieldName+' '+f;
  1:Adoorg.sort:=column.FieldName+' '+f;
  2:Adoteacher.sort:=column.FieldName+' '+f;
  3:Adoplace.sort:=column.FieldName+' '+f;
  4:Adopeiplan.sort:=column.FieldName+' '+f;
  end;
end;

procedure TFormeduset.DBGrid1KeyPress(Sender: TObject; var Key: Char);
begin
  dbgrid_keypress(sender,key);
end;

procedure TFormeduset.tbnfindClick(Sender: TObject);
begin
  case pagecontrol1.ActivePageIndex of
  0:findrecorder(Adocourse,'Adocourse','edu02010');
  1:findrecorder(Adoorg,'Adoorg','edu05010');
  2:findrecorder(Adoteacher,'Adoteacher','edu04010');
  3:findrecorder(Adoplace,'Adoplace','edu06010');
  4:findrecorder(Adopeiplan,'Adopeiplan','edu01010');
  end;
end;

procedure TFormeduset.tbnsortClick(Sender: TObject);
var i:1..5;
begin
  if manyfield then
   begin
     manyfield:=false;
     tbnsort.hint:='设定多字段排序';
     popupmenu1.Items[0].Enabled :=false;
     popupmenu1.Items[1].Enabled :=false;
     popupmenu1.Items[2].Enabled :=false;
     popupmenu1.Items[3].Enabled :=false;
   end
  else begin
    manyfield:=true;
    tbnsort.hint:='取消多字段排序'; //说明现在dbgrid1正处于多字段排序中
    f:='';
    popupmenu1.Items[0].Enabled :=true;
    popupmenu1.Items[1].Enabled :=true;
    popupmenu1.Items[2].Enabled :=true;
    popupmenu1.Items[3].Enabled :=true;
    fcount:=0;
    for i:=1 to 5 do
     begin
      findex[i]:=0;
      fsort[i]:='';
     end;
   end;
end;

procedure TFormeduset.N1Click(Sender: TObject);
var i:integer;
   dbgrid:Tdbgrid;
begin
  if fcount>0 then
    if db<>pagecontrol1.ActivePageIndex then
     begin
      dbgrid:=tdbgrid(findcomponent('dbgrid'+inttostr(db+1)));
      with dbgrid do
      begin
        for i:=1 to fcount do
          dbgrid.Columns[findex[i]].Color :=clwindow;
      end;
      fcount:=0;
     end;
  db:=pagecontrol1.ActivePageIndex;
  dbgrid:=tdbgrid(findcomponent('dbgrid'+inttostr(db+1)));
  with dbgrid do
  begin
  for i:=1 to fcount do
   if dbgrid.SelectedIndex =findex[i] then
    begin
     fsort[i]:='ASC';
     exit;
    end;
  if fcount<5 then
   begin
    fcount:=fcount+1;
    findex[fcount]:=dbgrid.selectedindex;
    fsort[fcount]:='ASC';
    dbgrid.Columns[dbgrid.selectedindex].Color :=clgray;
   end;
  end;
end;

procedure TFormeduset.N2Click(Sender: TObject);
var i:integer;
   dbgrid:Tdbgrid;
begin
  if fcount>0 then
    if db<>pagecontrol1.ActivePageIndex then
     begin
      dbgrid:=tdbgrid(findcomponent('dbgrid'+inttostr(db+1)));
      with dbgrid do
      begin
        for i:=1 to fcount do
          dbgrid.Columns[findex[i]].Color :=clwindow;
      end;
      fcount:=0;
     end;
  db:=pagecontrol1.ActivePageIndex;
  dbgrid:=tdbgrid(findcomponent('dbgrid'+inttostr(db+1)));
  with dbgrid do
  begin
  for i:=1 to fcount do
   if dbgrid.SelectedIndex =findex[i] then
    begin
     fsort[i]:='DESC';
     exit;
    end;
  if fcount<5 then
   begin
    fcount:=fcount+1;
    findex[fcount]:=dbgrid.selectedindex;
    fsort[fcount]:='DESC';
    dbgrid.Columns[dbgrid.selectedindex].Color :=clgray;
   end;
  end;
end;

procedure TFormeduset.N4Click(Sender: TObject);
var i:1..5;
   sortexp:string;
   dbgrid:Tdbgrid;
begin
  if db<>pagecontrol1.ActivePageIndex then
   begin
     dbgrid:=tdbgrid(findcomponent('dbgrid'+inttostr(db+1)));
     with dbgrid do
     begin
      for i:=1 to fcount do
       dbgrid.Columns[findex[i]].Color :=clwindow;
     end;
     fcount:=0;
     exit;
   end;
  sortexp:='';
  for i:=1 to fcount do
  begin
    dbgrid:=tdbgrid(findcomponent('dbgrid'+inttostr(db+1)));
    with dbgrid do
    begin
      if dbgrid.Columns[findex[i]].Color=clgray then
      begin
        sortexp :=sortexp+dbgrid.Columns[findex[i]].FieldName+' '+fsort[i];
        if i<fcount then sortexp:=sortexp+',';
      end;
    end;  
  end;
  if sortexp<>'' then
  case pagecontrol1.ActivePageIndex of
  0:ADOcourse.Sort :=sortexp;
  1:Adoorg.sort:=sortexp;
  2:Adoteacher.sort:=sortexp;
  3:Adoplace.sort:=sortexp;
  4:Adopeiplan.sort:=sortexp;
  end;
end;

procedure TFormeduset.N3Click(Sender: TObject);
var i:1..5;
   dbgrid:Tdbgrid;
begin
  dbgrid:=tdbgrid(findcomponent('dbgrid'+inttostr(pagecontrol1.ActivePageIndex+1)));
  with dbgrid do
  begin
   for i:=1 to fcount do
    dbgrid.Columns[findex[i]].Color :=clwindow;
  end;
   fcount:=0;
end;

procedure TFormeduset.FormKeyUp(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if key=VK_F1 then
      begin
        //showmessage('ok!')
     //MessageDlg(Key + ' has been pressed', mtInformation, [mbOK], 0);
      Application.HelpFile :=Extractfilepath(application.ExeName)+ 'help\pasahelp.hlp';
      application.HelpJump('SHM_CONTENTS0043');
    end;
end;

procedure TFormeduset.ToolButton7Click(Sender: TObject);
begin
   case pagecontrol1.activepageindex of
     0:
     begin
       ppreport1.devicetype:='Screen';
       ppreport1.print;
     end;
     1:
     begin
       ppreport2.devicetype:='Screen';
       ppreport2.print;
     end;
     2:
     begin
       ppreport3.devicetype:='Screen';
       ppreport3.print;
     end;
     3:
     begin
       ppreport4.devicetype:='Screen';
       ppreport4.print;
     end;
     4:
     begin
       ppreport5.devicetype:='Screen';
       ppreport5.print;
     end;
   end;
end;

procedure TFormeduset.ppReport1BeforePrint(Sender: TObject);
begin
   pplabel31.caption:=companyname1;
   pplabel29.caption:='制表人:'+pubworkname;
end;

procedure TFormeduset.ppReport2BeforePrint(Sender: TObject);
begin
   pplabel15.caption:=companyname1;
   pplabel13.caption:='制表人:'+pubworkname;
end;

procedure TFormeduset.ppReport3BeforePrint(Sender: TObject);
begin
   pplabel40.caption:=companyname1;
   pplabel38.caption:='制表人:'+pubworkname;
end;

procedure TFormeduset.ppReport4BeforePrint(Sender: TObject);
begin
   pplabel57.caption:=companyname1;
   pplabel55.caption:='制表人:'+pubworkname;
end;

procedure TFormeduset.ppReport5BeforePrint(Sender: TObject);
begin
   pplabel74.caption:=companyname1;
   pplabel72.caption:='制表人:'+pubworkname;
end;

procedure TFormeduset.ppReport1PreviewFormCreate(Sender: TObject);
begin
  tppReport(Sender).PreviewForm.WindowState:=wsMaximized;
end;

procedure TFormeduset.ppReport2PreviewFormCreate(Sender: TObject);
begin
  tppReport(Sender).PreviewForm.WindowState:=wsMaximized;
end;

procedure TFormeduset.ppReport3PreviewFormCreate(Sender: TObject);
begin
  tppReport(Sender).PreviewForm.WindowState:=wsMaximized;
end;

procedure TFormeduset.ppReport4PreviewFormCreate(Sender: TObject);
begin
  tppReport(Sender).PreviewForm.WindowState:=wsMaximized;
end;

procedure TFormeduset.ppReport5PreviewFormCreate(Sender: TObject);
begin
  tppReport(Sender).PreviewForm.WindowState:=wsMaximized;
end;

end.

⌨️ 快捷键说明

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