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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? uncustomdisplay.pas

?? 本產品是開發LISTVIEW相關功能的可定制產品
?? PAS
?? 第 1 頁 / 共 2 頁
字號:
{---------------------------------------------------------------}
{                                                               }
{ The Source code for  定制顯示類          Files                }
{ The Source code Compile By Delphi 6.0                         }
{ Author : Dpd                                                  }
{ CopyRight(C)   Chengdu SiFang Information Tech Co.,LTD.       }
{                                                               }
{defin time:  2006-08-02                                       }
{ Latest Changed :2006-08-09 FOR 增加行狀態顏色顯示功能         }
{                                                               }
{---------------------------------------------------------------}
//一、定制顯示思路:
//1、分別將每個LISTVIEW要顯示的列名稱,字段名稱、該列在數組(可顯示列)中的序號
//保存在一個表中——可以定死;
//2、分別將每個LISTVIEW列要顯示的列名稱和寬度以及需要顯示的位置(序號)保存在一
//個表中;
//3、LISTVIEW所在窗體創建時從對應表中取出需要顯示的列名稱、列寬度及在數組(可顯
//示列)中的序號;
//4、根據步驟3,初始化顯示LISTVIEW(按照設定順序的列名稱及列寬度);
//5、用戶做查詢操作后系統將所有可能需要顯示的數據,逐行保存到一個動態數組中;
//6、根據步驟3中取出的顯示列在數組中的序號顯示各行記錄;
//二、可以通用處理的部分:
//1、根據窗體名稱從數據庫中取需要顯示的列名稱、列寬度及在數組中的序號;
//2、初始化顯示LISTVIEW(按照設定順序的列名稱及列寬度);
//3、根據取出的顯示列在數組中的序號顯示各行記錄;
//三、使用方法:
//1、在進入報表窗體構造函數中創建該類,并調用函數IniCustomDisplay;
//2、在查詢完畢數據后,調用函數ShowListView

unit unCustomDisplay;
interface
uses Windows, Messages, SysUtils, Variants,Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ComCtrls,DB,DBTables,unCSort,unCDefine,unCDM;
Type
  //人工坐席TCP/IP通信類
//整個系統共用該數組類型,用于保存可用于定制顯示的數據
  TListData = array[0..30] of string[30];
  PListData = ^TListData;
  TShowDataBuffer =unCustomDisplay.TListData;
  PShowDataBuffer = ^TShowDataBuffer;
  TCustomDisplay=Class(TObject)
    private
      { Private declarations }
      lSoueceParentName:TWinControl;
      Lstvaffair: TListView;//調用端所在窗體中的顯示LISTVIEW
      FAsc:Boolean;//排序方式
      TotalDisplayColumNumber:integer; //總的顯示列數量
      DatabaseName:string;             //外部系統訪問數據庫使用的數據庫名
      SessionName:string;              //外部系統訪問數據庫使用的會話名
      StaffID:string;                  //操作員工工號
      bCustomShow:integer;            //是否只需要統一格式顯示
      aStateColor: array[0..9] of LongInt;//Added by dpd 2006-08-08 for 添加行顯示顏色隨狀態改變而改變的功能
      ReportForm:TForm;                 //SourceListView所在的窗體名稱;
      ReportFormName:string;            //SourceListView所在的窗體名稱;
      Function GetDisplayColum(ReportFormName:string):Integer;
    public
      colum:array of integer;//保存顯示列在可顯示數組中的位置
      aDataType:array of integer;//保存顯示列在可顯示數組中的位置
      nIconInArray:integer;    //nIconInArray表示需要進行圖標/片顯示的數組中的序號
      nIconToBaseStateSeq:integer;     //nIconBaseSeq是ImageList中從第幾個圖標開始的序號(從0開始計數)
      bShowStateColor:boolean;//Added by dpd 2006-08-08 for不同狀態的指定列是否需要顯示不同的顏色

      constructor Create;
      destructor Destroy; override;
      //從數據庫取得待顯示列,并初始化該LISTVIEW顯示的列
      Function IniCustomDisplay(fReportFormName:TForm;lSourceListView:TListView;
        sDataBaseName,sSessionName,sStaffID:string;SoueceParentName:TWinControl):Integer;
      Function  ShowListView(var CListView:TListview;Item:TListItem;var CList:TList):PListData;//顯示數據到LISTVIEW
      Procedure SourceViewColumnSort(const Column:Integer);//對指定的列進行排序,幾乎不用
      Function ChgRowInPosition(var CList:TList;var nPosition, nColumn: integer;
        var str: string):Boolean;//對呈現數據列表中第nPosition行的第nColumn列用新字符串替換
      Function ShiftRowToBack(var nPosition: Integer; var CList: TList):Boolean;//主要用于在列表中增加行
      Function DeleteRow(var Position:integer;var CList:TList):Boolean; //刪除指定LISTVIEW和LIST中的具體位置的行
      Function AddIconToColumn(var CListView:TListview;var nColumn, nIconSeq: Integer): Boolean;//向LISTVIEW列表指定列中增加指定的圖標
      procedure RefreshListview(var CListview: TListView;var CList:TList);//顯示或刷新LISTVIEW頁面
      procedure SetStateColor; //設置LISTVIEW行狀態顏色

  End;

Var
  CustomDisplay :TCustomDisplay;

implementation

constructor TCustomDisplay.Create;
var i:Integer;
begin
  inherited;
  TotalDisplayColumNumber:=0;//Ini
  bCustomShow:=1;
  StaffID:='';
  FAsc:=False;//假如原來是降序排序
  CMemo:=nil;
End;

destructor TCustomDisplay.Destroy;
begin
  inherited;
End;

//初始化窗體顯示LISTVIEW
function TCustomDisplay.IniCustomDisplay(fReportFormName: TForm;
  lSourceListView: TListView; sDataBaseName,
  sSessionName,sStaffID: string;
  SoueceParentName:TWinControl): Integer;
begin
//將初始化參數取道類成員變量中
  DataBaseName:=sDataBaseName;
  SessionName:=sSessionName;
  StaffID:=sStaffID;     //取得員工工號
  ReportForm:=fReportFormName;
  ReportFormName:=ReportForm.Caption;
  Lstvaffair:=lSourceListView;
  lSoueceParentName:=SoueceParentName;
  //從數據庫取得待顯示列,并初始化該LISTVIEW顯示的列
  GetDisplayColum(ReportFormName);
end;

//從數據庫取得待顯示列,并初始化該LISTVIEW顯示的列
Function TCustomDisplay.GetDisplayColum(ReportFormName:string):Integer;
var qQryDB:TQuery;
    i:integer;
    str,str1,str2:string;
    NewColumn: TListColumn;
begin
  result:=1;
//從數據庫取得待顯示列
  str1:='SELECT BCUSTOMSHOW FROM SFRJSHOWCOLOR WHERE STAFFID='''+StaffID+'''';
  str:='SELECT  INARYSERIALID,DISPLAYTAB,CAPTION,'
      +' COLUMNNAME,WIDTH,DATATYPE FROM SFRJDISPLAYDETAIL A,SFRJTABLEDETAIL B '
      +'WHERE (A.TABLEDETAILID=B.TABLEDETAILID) AND FORMCAPTION ='''
      +ReportFormName+''' ORDER BY DISPLAYTAB ASC';
  str2:='SELECT  INARYSERIALID,DISPLAYTAB,CAPTION,'
      +' COLUMNNAME,WIDTH,DATATYPE FROM SFRJPERSONDISPLAY A,SFRJTABLEDETAIL B '
      +' WHERE (A.STAFFID='''+StaffID+''') AND (A.TABLEDETAILID=B.TABLEDETAILID) AND FORMCAPTION ='''
      +ReportFormName+''' ORDER BY DISPLAYTAB ASC';//Modied by dpd 2004-01-07 the old is Formname
  try
      //創建數據表,并為其指定數據庫名稱及會話名稱
      qQryDB:=TQuery.Create(nil);//創建查詢
      if DataBaseName<>'' then
         qQryDB.DatabaseName:=DataBaseName
      else
         qQryDB.DatabaseName:=CDM.dbData.DatabaseName;
      if SessionName<>'' then
         qQryDB.SessionName:=SessionName
      else
         qQryDB.SessionName:=CDM.dbData.SessionName;
      qQryDB.close;
      qQryDB.sql.Clear;
      qQryDB.sql.Add(Str1);//添加查詢員工語句
      qQryDB.Open;//執行查詢
      if (not qQryDB.eof) then
      begin
        qQryDB.First;
        bCustomShow:=qQryDB.FieldByName('BCUSTOMSHOW').AsInteger;
      end;
      qQryDB.close;
      qQryDB.sql.Clear;
      if bCustomShow=0 then
         qQryDB.sql.Add(Str)//添加統一查詢語句
      else
         qQryDB.sql.Add(Str2);//添加個性化查詢語句
      qQryDB.Open;//執行查詢
      qQryDB.First;
      TotalDisplayColumNumber:=qQryDB.RecordCount;//取得查詢到的記錄數
      if TotalDisplayColumNumber>0 then//只有當有查詢的記錄數時才執行下面的操作
      begin
        setlength(colum,TotalDisplayColumNumber);
        setlength(aDataType,TotalDisplayColumNumber);
        i:=0;
        Lstvaffair.Columns.Clear;//為重新生成列而清空列
        //最多顯示31列
        while ((not qQryDB.eof) and (i<TotalDisplayColumNumber)) do
        begin
           colum[i]:=qQryDB.FieldByName('INARYSERIALID').AsInteger;
           aDataType[i]:=qQryDB.FieldByName('DATATYPE').AsInteger;
           Lstvaffair.Parent := lSoueceParentName;//傳遞所屬對象
           NewColumn := Lstvaffair.Columns.Add;//增加一列
           NewColumn.Caption := qQryDB.FieldByName('CAPTION').AsString;
           NewColumn.Width:=qQryDB.FieldByName('WIDTH').AsInteger * 8;//轉為點陣
//           NewColumn.ImageIndex:=2;
           i:=i+1;
           qQryDB.Next;//取下一列
        end;
      end
      else
      begin
        if bCustomShow<>0 then
        Begin
          qQryDB.close;
          qQryDB.sql.Clear;
          qQryDB.sql.Add(Str);//添加統一查詢語句
          qQryDB.Open;//執行查詢
          qQryDB.First;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美激情一区在线| 中文字幕二三区不卡| 色一情一伦一子一伦一区| 国产精品资源在线看| 国内外精品视频| 国产一区亚洲一区| 国产99久久久国产精品潘金网站| 狠狠色狠狠色合久久伊人| 国产精品88av| 不卡一区二区在线| 91成人网在线| 欧美一区二区三区成人| 精品国产一区二区亚洲人成毛片 | 在线观看国产一区二区| 97se狠狠狠综合亚洲狠狠| 91久久精品一区二区| 欧美色综合天天久久综合精品| 欧美日韩黄色一区二区| 欧美一区二区三区日韩视频| 亚洲精品一区二区三区99| 17c精品麻豆一区二区免费| 亚洲一区二区三区四区五区中文 | 国产乱理伦片在线观看夜一区| 国产精品夜夜嗨| 色综合婷婷久久| 日韩欧美国产一区二区在线播放 | 日本女优在线视频一区二区| 国产一区在线不卡| 91最新地址在线播放| 91精品视频网| 国产精品国产三级国产普通话三级 | 欧美日韩精品一区视频| 日韩欧美国产综合一区| 亚洲欧美综合网| 蜜桃久久久久久| 色哟哟国产精品| 欧美精品一区二区三区蜜桃视频| 中文字幕在线不卡一区| 奇米888四色在线精品| 99精品视频免费在线观看| 91精品在线免费观看| 亚洲日本va在线观看| 精品一区二区三区影院在线午夜 | 亚洲综合在线视频| 国产综合色产在线精品| 欧美日韩国产三级| 亚洲欧洲国产日本综合| 国产激情偷乱视频一区二区三区 | 精品嫩草影院久久| 一区二区三区在线看| 国产成人精品亚洲日本在线桃色 | 亚洲风情在线资源站| 成人黄色一级视频| 精品国产青草久久久久福利| 日韩精品亚洲一区| 色8久久人人97超碰香蕉987| 国产精品国产三级国产专播品爱网 | 亚洲国产视频一区二区| 成人avav影音| 国产情人综合久久777777| 日本中文字幕一区二区视频| 欧美在线影院一区二区| 成人免费在线视频| 成人午夜视频网站| 国产精品久久777777| 成人永久aaa| 国产日韩欧美一区二区三区乱码| 久久国产精品一区二区| 日韩久久久久久| 黑人巨大精品欧美黑白配亚洲| 欧美不卡视频一区| 紧缚捆绑精品一区二区| 精品国产免费一区二区三区四区 | 色哟哟一区二区三区| 亚洲同性同志一二三专区| 成人精品一区二区三区中文字幕 | 亚洲午夜影视影院在线观看| 99久久综合精品| 亚洲精选免费视频| 色婷婷激情久久| 亚洲自拍偷拍九九九| 欧美日本一道本在线视频| 石原莉奈在线亚洲二区| 日韩色在线观看| 豆国产96在线|亚洲| 国产精品美女久久久久久| 91亚洲精品久久久蜜桃| 亚洲午夜精品17c| 日韩视频一区二区三区在线播放| 久久不见久久见中文字幕免费| xf在线a精品一区二区视频网站| 国产乱码精品一区二区三| 亚洲欧美中日韩| 欧美日精品一区视频| 免费不卡在线观看| 欧美激情一区三区| 色天天综合久久久久综合片| 日韩黄色小视频| 久久久不卡网国产精品一区| 成人av午夜电影| 亚洲国产sm捆绑调教视频| 日韩精品影音先锋| 91女神在线视频| 日韩黄色小视频| 亚洲欧美在线观看| 日韩女优av电影在线观看| 成人精品国产一区二区4080| 性做久久久久久| 国产日韩精品视频一区| 欧美日本高清视频在线观看| 国模无码大尺度一区二区三区| 欧美国产激情一区二区三区蜜月| 欧美网站一区二区| 国产一区二区三区免费| 一级日本不卡的影视| 久久一日本道色综合| 欧美色爱综合网| 成人app网站| 久久不见久久见免费视频1| 一区二区在线电影| 国产午夜三级一区二区三| 在线播放/欧美激情| 91在线码无精品| 国产激情视频一区二区三区欧美| 日韩国产成人精品| 一区二区三区蜜桃| 1区2区3区精品视频| 26uuu亚洲| 3d动漫精品啪啪一区二区竹菊 | 国产麻豆日韩欧美久久| 亚洲国产成人va在线观看天堂| 中文字幕成人网| 日韩午夜激情av| 欧美丰满少妇xxxxx高潮对白| 99久久精品情趣| 成人午夜视频免费看| 国产一区二三区| 黄页视频在线91| 久久69国产一区二区蜜臀| 秋霞午夜av一区二区三区| 亚洲午夜久久久久| 亚洲国产毛片aaaaa无费看| 亚洲色欲色欲www| 中文字幕在线观看一区| 成人欧美一区二区三区白人| 国产精品福利一区二区三区| 中文欧美字幕免费| 国产精品国产三级国产aⅴ原创 | 91久久精品国产91性色tv| 99国产精品久久久久久久久久久| 国产99久久精品| 成人av在线资源网| 99精品视频免费在线观看| 99精品视频在线观看免费| 色又黄又爽网站www久久| 色婷婷激情一区二区三区| 91国产福利在线| 欧美日韩三级一区二区| 欧美日韩一区二区在线观看| 欧美日韩在线观看一区二区| 91精品国产福利在线观看| 日韩午夜激情av| 国产亚洲美州欧州综合国| 国产精品伦理一区二区| 亚洲视频免费观看| 丝袜国产日韩另类美女| 麻豆国产精品官网| 成人黄色av网站在线| 在线免费不卡视频| 4hu四虎永久在线影院成人| 久久久综合激的五月天| 国产精品久久久久久久久动漫 | 欧美精品一区二区三区高清aⅴ| 久久综合久久鬼色中文字| 亚洲欧美在线另类| 丝袜美腿亚洲一区二区图片| 国产最新精品精品你懂的| 色婷婷久久久综合中文字幕| 91精品国产综合久久久久久| 国产欧美视频一区二区| 一区二区三区欧美日韩| 寂寞少妇一区二区三区| 色香蕉成人二区免费| 精品成人在线观看| 亚洲精品自拍动漫在线| 国内成+人亚洲+欧美+综合在线| 99国内精品久久| 精品免费一区二区三区| 亚洲伦理在线精品| 国产在线精品一区二区夜色| 91免费版在线| 2021久久国产精品不只是精品| 亚洲人成人一区二区在线观看 | 日韩成人精品在线观看| 成人综合婷婷国产精品久久蜜臀 | 亚洲综合在线电影| 国产精品伊人色| 欧美一区二区精品久久911| 国产精品视频一二三区| 另类调教123区|