亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? base_check_head.pas

?? 一個(gè)MRPII系統(tǒng)源代碼版本
?? PAS
字號(hào):
unit Base_Check_Head;

Interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  Base_Panel, ActnList, ExtCtrls, ComCtrls, ToolWin, AdOdb, Db, DBGridEH,
  StdCtrls,Grids,Base_Condition,Base_Check_Body,ExtPrintReport,pr_PrintReportType,
  Sys_Condition,Sys_SortOrder, Sys_QuickLocate, Sys_SetColumn, Menus, Mask,
  jpeg;

Type
  TFrm_Base_Check_Head = Class(TFrm_Base_Panel)
  
    ToolButton1: TToolButton;
    TlBtn_Filter: TToolButton;
    TlBtn_Order: TToolButton;
    ToolButton9: TToolButton;
    AdoQry_Head: TAdoQuery;
    DataSource: TDataSource;
    Lbl_OrderTitle: TLabel;
    Lbl_ConditionTitle: TLabel;
    Lbl_Condition: TLabel;
    Lbl_Order: TLabel;
    DBGridEh: TDBGridEh;
    ToolButton2: TToolButton;
    ToolButton3: TToolButton;
    ToolButton4: TToolButton;
    TlBtn_Locate: TToolButton;
    PopuPmenu: TPopuPmenu;
    HideColumn: TMenuItem;
    TlBtn_Look: TToolButton;
    ToolButton5: TToolButton;
    ExtPrintReport: TExtPrintReport;
    ToolButton6: TToolButton;
    ToolButton7: TToolButton;
    ToolButton8: TToolButton;
    procedure Act_OrderExecute(Sender: TObject);
    procedure Act_FilterExecute(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure Act_SetColumnExecute(Sender: TObject);
    procedure Act_LocateExecute(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure HideColumnClick(Sender: TObject);
    procedure Act_LookExecute(Sender: TObject);
    procedure Act_PreviewExecute(Sender: TObject);
    procedure Act_PrintExecute(Sender: TObject);
    procedure Act_ExcelExecute(Sender: TObject);
  private
    { Private declarations }
    ReadOnly:Boolean;
    procedure SetReport;//報(bào)表打印參數(shù)設(shè)置
    procedure GetTransValue(FieldName,OldValue:String;var NewValue:String);//打印轉(zhuǎn)換過(guò)程
  protected
    { protected declarations }
    SelectFromSQL:String;//存放類似select...from...的SQL語(yǔ)句
    Condition:String;//存放 Where 后的條件
    OrderByFields:String;//當(dāng)前排序字段信息  認(rèn)大小寫(xiě)
    ConditionUserDefine:String;//存放 Where 后的條件
    Frm_Sys_SortOrder:TFrm_Sys_SortOrder;//用于引用排序條件窗體;
    Frm_Sys_QuickLocate:TFrm_Sys_QuickLocate;//用于引用快速定位設(shè)置窗體;
    Frm_Sys_SetColumn:TFrm_Sys_SetColumn;//用于引用設(shè)置DBGridEh顯示列窗體;

    procedure GetData; virtual;//由于SQL的改變,用此過(guò)程重新SQL一下
    procedure InitReport; virtual;//設(shè)置報(bào)表表頭屬性
    //子類重載,設(shè)置打印數(shù)據(jù)的轉(zhuǎn)換過(guò)程
    procedure SetColumnsStyle(ItemIndex:Integer;FieldName:String); virtual;
  public
    { Public declarations }
    //初始化Form過(guò)程,子類一般都要重載     
    Frm_Sys_Condition:TFrm_Sys_Condition;//用于引用條件窗體;
    Frm_Check_Body:TFrm_Base_Check_Body;//用于引用彈出窗體;
    procedure InitForm(AdOConnection:TAdOConnection;ReadOnly:Boolean);virtual;
  end;
  TAdoQueryExpress=Class(TAdoQuery)
  Public
    Property CommandTimeOut;
  end;


var
  Frm_Base_Check_Head: TFrm_Base_Check_Head;

implementation

uses Sys_Global;

{$R *.DFM}

procedure TFrm_Base_Check_Head.SetColumnsStyle(ItemIndex:Integer;FieldName:String);
begin
end;


procedure TFrm_Base_Check_Head.InitReport;
begin//定義表頭
  inherited;
  AdoQry_Tmp.Close;
  AdoQry_Tmp.SQL.Text:='Select SysParamValueC'
    +' From SysParam'
    +' Where SysParamCode=''Name0''';
  AdoQry_Tmp.Open;
  ExtPrintReport.Title1:=AdoQry_Tmp.fieldbyname('SysParamValueC').AsString;

  AdoQry_Tmp.Close;
  AdoQry_Tmp.SQL.Text:='Select ReportName1,ISOCode1'
    +' From ReportCtrl'
    +' Where SysMenuId='+MenuId;
  AdoQry_Tmp.Open;
  ExtPrintReport.Title2:=AdoQry_Tmp.fieldbyname('ReportName1').AsString;
  ExtPrintReport.SubTitle1:=AdoQry_Tmp.fieldbyname('ISOCode1').AsString;

  ExtPrintReport.Subtitle2:=Lbl_Condition.Caption;
end;


procedure TFrm_Base_Check_Head.GetTransValue(FieldName,OldValue:String;var NewValue:String);
var
  i:integer;
begin
  NewValue:=OldValue;
  if DBGridEh<>nil then
    for i:=0 to DBGridEh.Columns.Count-1 do
      if(DBGridEh.Columns[i].FieldName=FieldName)then
      begin
        if(DBGridEh.Columns[i].Field.DataType in [ftFloat])
          and(TFloatField(DBGridEh.Columns[i].Field).DisplayFormat<>'')
          and(OldValue<>'')then
        begin//處理 定義了打印格式的字段
          NewValue:=FormatFloat(TFloatField(DBGridEh.Columns[i].Field).DisplayFormat,StrToFloat(OldValue));
        end
        else if DBGridEh.Columns[i].KeyList.IndexOf(OldValue)<>-1 then
        begin//處理 pickList 與keyList
          NewValue:=DBGridEh.Columns[i].PickList.Strings[DBGridEh.Columns[i].
            KeyList.IndexOf(OldValue)];
        end;
        break;
      end;
end;


procedure TFrm_Base_Check_Head.SetReport;
var
  i,j,k:integer;
  GroupCaption,ColumnTitle:String;
begin
  if DBGridEh.DataSource.DataSet.Active=False then
    Abort;
  GroupCaption:='';
  ExtPrintReport.DataSet:=nil;
  ExtPrintReport.Headers.clear;
  i:=0;
  k:=-1;
  with ExtPrintReport do
  begin
    for j:=0 to DBGridEH.Columns.Count-1 do
      if DBGridEH.Columns[j].Visible then
      begin//只打印可視的數(shù)據(jù)
        Headers.Add;
        ColumnTitle:=DBGridEH.Columns[j].Title.Caption;
        Headers.Items[i].Caption :=Copy(ColumnTitle,Pos('|',ColumnTitle)+1,Length(ColumnTitle)-Pos('|',ColumnTitle));
        Headers.Items[i].FieldName :=DBGridEH.Columns[j].FieldName;
        Headers.Items[i].DisplayWidth:=DBGridEH.Columns[j].Width div (DBGridEH.Canvas.TextWidth(' '));
        Headers.Items[i].Alignment :=DBGridEH.Columns[j].Alignment;
        if((DBGridEh.Columns[j].PickList.Count>0)
          and(DBGridEh.Columns[j].KeyList.Count>0))
          or(DBGridEh.Columns[j].Field.DataType in [ftFloat])then
        begin//定義了PickList或顯示格式的傳遞一個(gè)轉(zhuǎn)換過(guò)程
          Headers.Items[i].Style:=dsTransForm;
          Headers.Items[i].TransformFunction:=GetTransValue;
        end
        else//通知子類
          SetColumnsStyle(i,DBGridEH.Columns[j].FieldName);
        if (DBGridEH.UseMultiTitle)and(Pos('|',DBGridEH.Columns[j].Title.Caption)<>0) then
        begin//多層表頭的處理
          ColumnTitle:=Copy(DBGridEH.Columns[j].Title.Caption,1,Pos('|',DBGridEH.Columns[j].Title.Caption)-1);
          if GroupCaption<>ColumnTitle then
          begin
            Inc(k);
            GroupCaption:=ColumnTitle;
            HeaderGroups.Add;
            HeaderGroups.Items[k].Caption:=GroupCaption;
            HeaderGroups.Items[k].StArtCol:=i+1;
            HeaderGroups.Items[k].endCol:=i+1;
          end
          else
          begin
            HeaderGroups.Items[k].endCol:=i+1;
          end;
        end
        else
          GroupCaption:='';
        Inc(i);
      end;
    DataSet:=DBGridEh.DataSource.DataSet;
    InitReport;
  end;
end;


procedure TFrm_Base_Check_Head.Act_OrderExecute(Sender: TObject);
var
  BookMArk:TBookMArk;
begin//排序字段設(shè)定處理過(guò)程
  inherited;
  if DBGridEh.DataSource.DataSet.Active=True then
  begin
    Frm_Sys_SortOrder.InitForm(DBGridEH,OrderByFields);
    if(Frm_Sys_SortOrder.ShowModal=mrOk)then
    begin
      OrderByFields:=Frm_Sys_SortOrder.OrderFields;
      Lbl_Order.Caption:=Frm_Sys_SortOrder.OrderCaption;
      BookMArk:=AdoQry_Head.GetBookmArk;
      AdoQry_Head.Sort:=OrderByFields;
      AdoQry_Head.GotoBookmArk(BookMArk);
      AdoQry_Head.FreeBookMArk(BookMArk);
    end;
  end;
end;

procedure TFrm_Base_Check_Head.GetData;
begin//由于SQL的改變,用此過(guò)程重新SQL一下
  if SelectFromSQL<>'' then
  with AdoQry_Head do
  begin
    DisableControls;
    Close;
    SQL.clear;
    SQL.Text:=SelectFromSQL;
    if(Condition<>'')then
    begin
      if(ConditionUserDefine<>'')then
        SQL.Text:=SQL.Text+' Where '+Condition+' and '+ConditionUserDefine
      else
        SQL.Text:=SQL.Text+' Where '+Condition;
    end
    else if(ConditionUserDefine<>'')then
      SQL.Text:=SQL.Text+' Where '+ConditionUserDefine;
    Open;
    Sort:=OrderByFields;
    EnableControls;
  end;
end;

procedure TFrm_Base_Check_Head.Act_FilterExecute(Sender: TObject);
var
 TableName:string;
begin//過(guò)濾數(shù)據(jù)處理過(guò)程
  inherited;
  TableName:= '#'+self.Name   ;
  if Frm_Sys_Condition=nil then
    Frm_Sys_Condition:=TFrm_Sys_Condition.Create(Application);
  Frm_Sys_Condition.SetUserParam(Param1,Param2,Param3,Param4,Param5,Param6);
  Frm_Sys_Condition.SetSysParam(UserCode,ModuleCode,MenuId,LoginDate);
  Frm_Sys_Condition.SetDBConnect(DBConnect);

  if Frm_Sys_Condition is TFrm_Sys_Condition then
    TFrm_Sys_Condition(Frm_Sys_Condition).SetSrcGrid(DBGridEh,TableName);
    
  Frm_Sys_Condition.FatherForm:=Self;
  if Frm_Sys_Condition.Showmodal=mrOk then
  begin
    Condition:=Frm_Sys_Condition.Condition;
    Lbl_Condition.Caption:=Frm_Sys_Condition.ConditionHint;
    GetData;
  end;
end;

procedure TFrm_Base_Check_Head.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin//釋放空間
  inherited;
  try
    AdoQry_tmp.Close;
    AdoQry_tmp.SQL.clear;
    AdoQry_tmp.SQL.Text :='Drop Table '+ '#'+self.Name+','+'#'+self.Name+'Chb';
    AdoQry_tmp.ExecSQL;
  except
  end;
  if Frm_Sys_Condition<>nil then
    Frm_Sys_Condition.Release;
  if Frm_Check_Body<>nil then
    Frm_Check_Body.Release;
  if Frm_Sys_SortOrder<>nil then
    Frm_Sys_SortOrder.Release;
  if Frm_Sys_QuickLocate<>nil then
    Frm_Sys_QuickLocate.Release;
  if Frm_Sys_SetColumn<>nil then
    Frm_Sys_SetColumn.Release;
  Action:=CaFree;
end;

procedure TFrm_Base_Check_Head.Act_SetColumnExecute(Sender: TObject);
begin//設(shè)置可視列
  inherited;
  Frm_Sys_SetColumn.SetUserParam(Param1,Param2,Param3,Param4,Param5,Param6);
  Frm_Sys_SetColumn.SetSysParam(UserCode,ModuleCode,MenuId,LoginDate);
  Frm_Sys_SetColumn.SetDBConnect(DBConnect);
  Frm_Sys_SetColumn.SetSrcGrid(DBGridEH,self.Name);
  Frm_Sys_SetColumn.ShowModal;
end;

procedure TFrm_Base_Check_Head.Act_LocateExecute(Sender: TObject);
begin//快速定位處理
  inherited;
  Frm_Sys_QuickLocate.SetSrcGrid(DBGridEh);
  if Frm_Sys_QuickLocate.ShowModal=mrok then
  begin
    AdoQry_Head.Locate(Frm_Sys_QuickLocate.LocateFieldName,Frm_Sys_QuickLocate.LocateFieldValue,[loPArtialKey]);
  end;
end;

procedure TFrm_Base_Check_Head.FormCreate(Sender: TObject);
var
  StrTemp:String;
begin//,---->/  創(chuàng)建必要窗體
  inherited;
 TAdoQueryExpress(AdoQry_Head).CommandTimeOut:=0;
  StrTemp:=Lbl_Condition.Caption;
  while pos(',',StrTemp)<>0 do
    StrTemp[pos(',',StrTemp)]:='/';
  Lbl_Condition.Caption:=StrTemp;
  StrTemp:=Lbl_Order.Caption;
  while pos(',',StrTemp)<>0 do
    StrTemp[pos(',',StrTemp)]:='/';
  Lbl_Order.Caption:=StrTemp;
  Frm_Sys_SortOrder:=TFrm_Sys_SortOrder.Create(Application);
  Frm_Sys_QuickLocate:=TFrm_Sys_QuickLocate.Create(Application);
  Frm_Sys_SetColumn:=TFrm_Sys_SetColumn.Create(Application);
end;

procedure TFrm_Base_Check_Head.InitForm(AdOConnection: TAdOConnection;
  ReadOnly: Boolean);
var i:integer;
    sqltext:string;
begin//設(shè)置數(shù)據(jù)庫(kù)連接
  inherited;
  SetDBConnect(AdOConnection);
  AdoQry_Head.Connection:=AdOConnection;
  Self.ReadOnly:=ReadOnly;
  for i:=0 to toolBar.ControlCount-1 do
   if (Ttoolbutton(toolBar.controls[i]).action = act_SetColumn) and (act_SetColumn.Enabled and act_SetColumn.Visible) then
     begin
       sqltext:='select top 1 * from Sys_SetColumn '
               +' where formName='+quotedstr(self.Name)
               +'  and  useEmployeeCode='+quotedstr(userCode);
       Executesql(AdoQry_tmp,sqltext,0);
       if AdoQry_tmp.RecordCount<>0 then
       dbgrideh.FrozenCols:=AdoQry_tmp.fieldbyname('frozencols').asinteger;
     end;   
end;

procedure TFrm_Base_Check_Head.HideColumnClick(Sender: TObject);
begin//隱藏列
  inherited;
  if(DBGridEh.SelectedIndex>=0)then
    DBGridEh.Columns[DBGridEh.SelectedIndex].Visible:=False;
end;

procedure TFrm_Base_Check_Head.Act_LookExecute(Sender: TObject);
begin//查詢單據(jù)
  inherited;
  if(Frm_Check_Body<>nil)and(not AdoQry_Head.IsEmpty)then
  begin
    Frm_Check_Body.SetUserParam(Param1,Param2,Param3,Param4,Param5,Param6);
    Frm_Check_Body.SetSysParam(UserCode,ModuleCode,MenuId,LoginDate);
    if ReadOnly then
      Frm_Check_Body.InitForm(DBConnect,'Query',AdoQry_Head)
    else
      Frm_Check_Body.InitForm(DBConnect,'Check',AdoQry_Head);
    Frm_Check_Body.ShowModal;
  end;
end;

procedure TFrm_Base_Check_Head.Act_PreviewExecute(Sender: TObject);
begin
  inherited;
  SetReport;
  ExtPrintReport.Preview;

end;

procedure TFrm_Base_Check_Head.Act_PrintExecute(Sender: TObject);
begin
  inherited;
  SetReport;
  ExtPrintReport.Print(self);

end;

procedure TFrm_Base_Check_Head.Act_ExcelExecute(Sender: TObject);
begin
  inherited;
  DBGridEhToExcel(DBGridEh,Pnl_Head);

end;

end.

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品免费网站在线观看| 国产精品成人在线观看| 盗摄精品av一区二区三区| 亚洲一二三专区| 中文字幕的久久| 91麻豆精品国产综合久久久久久 | 欧美一区二区三区免费视频| 国产成人av一区二区三区在线观看| 亚洲丰满少妇videoshd| 中文字幕一区不卡| 久久久三级国产网站| 欧美一级在线免费| 欧美色男人天堂| 9色porny自拍视频一区二区| 久久99久久99精品免视看婷婷| 亚洲精品国产精华液| 国产精品久久久久久久裸模| 26uuu亚洲| 日韩视频一区二区三区| 欧美日韩一区二区欧美激情| av电影一区二区| 国产成人免费视频网站高清观看视频| 亚洲bt欧美bt精品| 一区二区三区视频在线观看| 国产精品素人视频| 久久精品一区二区三区不卡| 日韩午夜av一区| 欧美日韩欧美一区二区| 欧美亚洲日本国产| 中文字幕国产一区| 精品处破学生在线二十三| 91精品国产综合久久福利软件| 欧美亚洲综合在线| 在线视频一区二区三| 色综合久久66| 欧洲精品中文字幕| 91国产成人在线| 欧美亚洲国产怡红院影院| 日本高清无吗v一区| 91免费观看视频在线| 成人精品视频网站| 91在线国产观看| 色综合天天综合色综合av| 91蜜桃视频在线| 色8久久人人97超碰香蕉987| 在线一区二区三区| 欧美日韩亚洲不卡| 这里只有精品电影| 欧美xxxx在线观看| 久久免费的精品国产v∧| 久久免费美女视频| 国产精品久久久久aaaa樱花 | 91精品一区二区三区久久久久久| 欧美精品99久久久**| 91精品国产麻豆国产自产在线 | 91精品国产综合久久婷婷香蕉| 欧美人狂配大交3d怪物一区| 日韩亚洲欧美高清| 久久这里只有精品6| 日本一区二区免费在线观看视频 | 视频一区二区欧美| 日韩高清一级片| 精东粉嫩av免费一区二区三区| 国产精品18久久久久久久久 | 亚洲视频一区二区在线| 亚洲最大色网站| 美脚の诱脚舐め脚责91| 国产成人三级在线观看| 91啪亚洲精品| 日韩亚洲电影在线| 18成人在线视频| 婷婷开心久久网| 国产精品一卡二| 欧美日韩在线观看一区二区| 日韩精品资源二区在线| 国产精品国产三级国产| 天堂av在线一区| 成人在线一区二区三区| 欧美日韩国产一级二级| 欧美国产欧美亚州国产日韩mv天天看完整| 亚洲天天做日日做天天谢日日欢 | 777久久久精品| 欧美国产97人人爽人人喊| 亚洲成人激情av| 国产一区二区三区国产| 91福利在线免费观看| 精品成人私密视频| 一区二区三区毛片| 国产一区在线观看视频| 欧美日韩一级片在线观看| 久久综合九色综合97婷婷女人 | 1000精品久久久久久久久| 丝瓜av网站精品一区二区| 粉嫩一区二区三区性色av| 欧美老年两性高潮| 国产精品久久看| 国产在线精品一区二区三区不卡| 色综合久久综合网97色综合| 久久久久久久久久久久久久久99| 亚洲成av人综合在线观看| 91在线高清观看| 久久人人97超碰com| 日本亚洲电影天堂| 色诱视频网站一区| 亚洲国产成人在线| 久久精品国产第一区二区三区| 色偷偷久久一区二区三区| 国产午夜精品在线观看| 六月婷婷色综合| 欧美日韩在线观看一区二区| 亚洲欧美电影院| 丁香亚洲综合激情啪啪综合| 精品国偷自产国产一区| 日本不卡高清视频| 欧美亚洲国产一区二区三区 | 欧美大片一区二区三区| 夜夜嗨av一区二区三区网页 | 久久精品国产秦先生| 在线精品视频一区二区| 日本一区二区在线不卡| 狂野欧美性猛交blacked| 欧美视频在线观看一区| 亚洲精品国产无天堂网2021| av一本久道久久综合久久鬼色| 久久婷婷综合激情| 激情欧美一区二区三区在线观看| 日韩一级片在线播放| 七七婷婷婷婷精品国产| 欧美日韩激情在线| 亚洲不卡一区二区三区| 欧美最猛黑人xxxxx猛交| 一区二区三区欧美日| 色综合天天在线| 亚洲日本乱码在线观看| 一本色道综合亚洲| 亚洲伦理在线免费看| 欧美亚一区二区| 亚洲综合色视频| 欧美精品三级在线观看| 日本午夜精品一区二区三区电影 | 日韩午夜激情电影| 久久er99热精品一区二区| 欧美大胆一级视频| 欧美精品乱码久久久久久按摩| 亚洲国产一区二区a毛片| 欧美美女直播网站| 免费成人结看片| 欧美精品一区二区三区蜜臀| 国产高清精品网站| 国产精品毛片久久久久久久| 91色视频在线| 三级亚洲高清视频| 欧美成人性战久久| 成人综合婷婷国产精品久久免费| 亚洲天堂福利av| 欧美精品亚洲二区| 国产精品综合av一区二区国产馆| 国产日韩精品一区二区浪潮av| 91色porny蝌蚪| 婷婷激情综合网| 国产亚洲精品中文字幕| 91麻豆6部合集magnet| 丝袜亚洲另类欧美综合| 国产亚洲人成网站| 色综合久久综合网97色综合| 日韩精品免费视频人成| 久久久精品人体av艺术| 一本色道久久综合亚洲aⅴ蜜桃| 午夜精品久久久久久久久| 日韩免费观看高清完整版| 国产成人午夜视频| 亚洲a一区二区| 国产亚洲人成网站| 欧美三区免费完整视频在线观看| 麻豆成人久久精品二区三区红| 国产婷婷精品av在线| 欧美日韩在线三区| 风间由美性色一区二区三区| 亚洲chinese男男1069| 国产欧美日韩精品在线| 7777女厕盗摄久久久| 成人精品视频一区| 日本午夜精品视频在线观看| 日韩美女精品在线| 日韩精品一区二区三区四区视频| 波多野结衣在线一区| 日本不卡免费在线视频| 亚洲天堂成人网| 久久久一区二区三区| 4438成人网| 91视频观看视频| 狠狠色狠狠色合久久伊人| 亚洲大片免费看| 中文字幕在线不卡视频| 日韩一区二区三区视频在线| 日本丶国产丶欧美色综合| 粉嫩av亚洲一区二区图片| 人人狠狠综合久久亚洲| 亚洲成人av资源| 亚洲欧美综合另类在线卡通|