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

📄 cls_gridlistview.pas

📁 用Delhpi和mapx开发的警务管理系统
💻 PAS
字号:
unit cls_GridListView;

interface
uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,winsock,inifiles
  ,ADOdb, StdCtrls,comctrls,cls_DataPub,cls_BaseClass;
type
  TGridListView=class
  private
    cDataPub:TDataPub;
    mDataOperate:TDataOperate;
  public
    constructor create(dataOperate:TDataOperate);
    procedure AddDatatoListView(arr_Caption:array of string;Qr_Content:TADOQuery; lv_Content:TListView;blnBind:boolean);overload;
    procedure AddDatatoListView(sTableName:string;Qr_Content:TADOQuery; lv_Content:TListView;blnBind:boolean);overload;

end;
implementation
//*******将一个数据集写到ListView******//
constructor TGridListView.create(dataOperate:TDataOperate);
begin
  mDataOperate:=dataOperate;
end;
procedure TGridListView.AddDatatoListView(arr_Caption:array of string;Qr_Content:TADOQuery; lv_Content:TListView;blnBind:boolean);
var
  iLoop:integer;
  col:TListColumn;
  pTableTemp:pTable;
begin
  if Qr_Content=nil then
    begin
      lv_Content.Items.Clear;
      exit;
    end;
  lv_Content.Columns.Clear;
  for iLoop:=0 to Qr_Content.Fields.Count-1 do       //增加列名
    begin
      col:=lv_Content.Columns.Add;
      col.Caption :=arr_Caption[iLoop];
      col.width:=length(arr_Caption[iLoop])*10;
      col.Alignment:=taCenter;
    end;
    //增加行
  lv_Content.Items.Clear;
  try
    Qr_Content.First;
    while not Qr_Content.Eof do
    begin
      with lv_Content.Items.Add do
      begin
        New(PtableTemp);
        SetLength(PtableTemp.DataValue,Qr_Content.FieldCount);
        for iLoop:=0 to Qr_Content.FieldCount-1 do
        begin
          if iLoop=0 then
            Caption:=Qr_Content.Fields[iLoop].AsString     //行的第一列值
          else
            SubItems.Add(Qr_Content.Fields[iLoop].AsString);
            pTableTemp.DataValue[iLoop]:=Qr_Content.Fields[iLoop].AsString;
        end;
        if blnBind=true then
          Data:=pTableTemp;
      end;
      Qr_Content.Next ;
    end;
    {with lv_Content.Items.Add do
    begin
      New(PtableTemp);
      SetLength(PtableTemp.DataValue,Qr_Content.FieldCount);
      for iLoop:=0 to Qr_Content.FieldCount-1 do
      begin
        pTableTemp.DataValue[iLoop]:=Qr_Content.Fields[iLoop].Name;
      end;
      if blnBind=true then
        Data:=pTableTemp;
    end;}
  except
    on E: Exception do
    begin
      ShowMessage(E.Message);
      Exit;
    end;
  end;
end;
procedure TGridListView.AddDatatoListView(sTableName:string;Qr_Content:TADOQuery; lv_Content:TListView;blnBind:boolean);
var
  iLoop:integer;
  col:TListColumn;
  //sArrData:array of string;
  pTableTemp:pTable;
begin
  if Qr_Content=nil then
    begin
      lv_Content.Items.Clear;
      exit;
    end;
  //列标题

  cDataPub:=TDataPub.create(mDataOperate,sTableName);
  lv_Content.Columns.Clear;
  with cDataPub do
  begin
    for iLoop:=0 to High(msArrColumnComments) do       //增加列名
      begin
        col:=lv_Content.Columns.Add;
        col.Caption :=msArrColumnComments[iLoop];
        col.width:=length(msArrColumnComments[iLoop])*10;
        col.Alignment:=taCenter;
      end;
  end;
    //增加行
  lv_Content.Items.Clear;
  try
    Qr_Content.First;
    while not Qr_Content.Eof do
    begin
      New(PtableTemp);
      SetLength(PtableTemp.DataValue,Qr_Content.FieldCount);
      with lv_Content.Items.Add do
      begin
        for iLoop:=0 to Qr_Content.FieldCount-1 do
        begin
          if iLoop=0 then
            Caption:=Qr_Content.Fields[iLoop].AsString     //行的第一列值
          else
            SubItems.Add(Qr_Content.Fields[iLoop].AsString);
          pTableTemp.DataValue[iLoop]:=Qr_Content.Fields[iLoop].AsString;
          //sArrData[iLoop]:=Qr_Content.Fields[iLoop].AsString;
        end;
        if blnBind=true then
          Data:=pTableTemp;
      end;
      Qr_Content.Next ;
    end;
  except
    on E: Exception do
    begin
      ShowMessage(E.Message);
      Exit;
    end;
  end;
end;
end.






⌨️ 快捷键说明

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