📄 cls_gridlistview.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 + -