📄 printselectunit.~pas
字号:
begin
for i:=0 to DstList.Count-1 do
begin
ExcelWorkSheet.cells(j,i+1):=curQuery.FieldByName(PrintFieldSelectDlg.DstList.Items[i]).AsString;
Range:=ExcelWorkSheet.Cells[j,i+1];
Range.Borders[1].LineStyle := 7;
Range.Borders[2].LineStyle := 7;
Range.Borders[3].LineStyle := 7;
Range.Borders[4].LineStyle := 7;
end;
j:=j+1;
curQuery.Next;
end;
for i:=0 to PrintFieldSelectDlg.DstList.Count-1 do
ExcelWorkSheet.Columns[i+1].AutoFit;
end;
ExcelApp.Visible:=true;
ExcelWorkSheet.PageSetup.LeftFooter :='统计负责人:'+Edit1.Text;
ExcelWorkSheet.PageSetup.CenterFooter :='统计人员:'+Edit2.Text ;
ExcelWorkSheet.PageSetup.RightFooter :='填表日期:'+DateToStr(DateTimePicker1.Date);
ExcelApp.ActiveSheet.PrintPreview;
ExcelApp.activeworkbook.saved:=true;
ExcelApp.quit;
end;
procedure TPrintFieldSelectDlg.InitPrnSrc(curQuery:TADOQuery);
var
i:integer;
myItem:TListItem;
begin
srclist.Visible:=true;
srclistview.Visible:=false;
PrintFieldSelectDlg.SrcList.Clear;
PrintFieldSelectDlg.DstList.Clear;
for i:=0 to curQuery.FieldCount-1 do
begin
SrcList.Items.Add(curQuery.Fields[i].FieldName);
end;
//////////////////新添代码////////////////////////////////////////
{ SrcListView.Items.Clear;
for i:=0 to curQuery.FieldCount-1 do
begin
myItem:=SrcListView.Items.Add;
myItem.Caption:=curQuery.Fields[i].FieldName;
myitem.SubItems.Add('***');
end; }
///////////////////新添代码/////////////////////////////////////
end;
procedure TPrintFieldSelectDlg.InitPrnSrc2(curQuery:TADOQuery;nextQuery:TADOTable);
var
i:integer;
myItem:TListItem;
begin
srclist.Visible:=false;
srclistview.Visible:=true;
PrintFieldSelectDlg.DstList.Clear;
//////////////////新添代码////////////////////////////////////////
SrcListView.Items.Clear;
for i:=0 to curQuery.FieldCount-1 do
begin
myItem:=SrcListView.Items.Add;
myItem.Caption:=curQuery.Fields[i].FieldName;
nextquery.Active:=false;
nextquery.Filtered:=false;
nextquery.Filter:= '指标代码='''+curQuery.Fields[i].FieldName+'''';
nextquery.Filtered:=true;
nextquery.Active:=true;
// nextquery.Filtered:=false;
if nextquery.Eof then
begin
myitem.SubItems.Add('***');
end
else
myitem.SubItems.Add(nextquery.FieldValues['指标名称']);
//myitem.SubItems.Add(QueryTemp.fieldbyname('loginname').AsString);
// myitem.SubItems.Add('***');
end;
nextquery.Active:=false;
nextquery.Filtered:=false;
nextquery.Active:=true;
///////////////////新添代码/////////////////////////////////////
end;
procedure TPrintFieldSelectDlg.IncludeBtnClick(Sender: TObject);
var
Index: Integer;
Item: TListItem;
begin
if SrcList.Visible=true then
begin
Index := GetFirstSelection(SrcList);
MoveSelected(SrcList, DstList.Items);
SetItem(SrcList, Index);
end
else
begin
Item := srcListView.Selected;
while Item <> nil do
begin
for index := 0 to dstList.Items.Count - 1 do
begin
if dstlist.Items.Strings[index]=item.Caption then
begin
dstlist.Items.Delete(index);
break;
end;
end;
dstlist.Items.Add(Item.Caption);
Item := srcListView.GetNextItem(Item, sdAll, [isSelected]);
end;
SetButtons;
end;
end;
procedure TPrintFieldSelectDlg.ExcludeBtnClick(Sender: TObject);
var
Index: Integer;
begin
if SrcList.Visible=true then
begin
Index := GetFirstSelection(DstList);
MoveSelected(DstList, SrcList.Items);
SetItem(DstList, Index);
end
else
begin
for index := 0 to dstList.Items.Count - 1 do
if dstList.Selected[index] then
begin
dstlist.DeleteSelected;
break;
// Item:=srclistview.Items.Add;
// Item.Caption:=dstlist.Items.Strings[index];
// item.SubItems.Add(QueryTemp.fieldbyname('loginname').AsString);
end;
SetButtons;
end;
end;
procedure TPrintFieldSelectDlg.IncAllBtnClick(Sender: TObject);
var
I: Integer;
begin
if srclist.Visible=true then
begin
for I := 0 to SrcList.Items.Count - 1 do
DstList.Items.AddObject(SrcList.Items[I],
SrcList.Items.Objects[I]);
SrcList.Items.Clear;
SetItem(SrcList, 0);
end
else
begin
dstlist.Clear;
for I := 0 to SrcListview.Items.Count - 1 do
{ DstList.Items.AddObject(SrcListview.Items[I].Caption,
SrcListview.Items.Objects[I]); }
dstlist.Items.Add(SrcListview.Items[I].Caption);
// SrcListview.Items.Clear;
// SetItem(SrcListview, 0);
SetButtons;
end;
end;
procedure TPrintFieldSelectDlg.ExcAllBtnClick(Sender: TObject);
var
I: Integer;
begin
if srclist.Visible=true then
begin
for I := 0 to DstList.Items.Count - 1 do
SrcList.Items.AddObject(DstList.Items[I], DstList.Items.Objects[I]);
DstList.Items.Clear;
SetItem(DstList, 0);
end
else
begin
dstlist.Clear;
SetButtons;
end;
end;
procedure TPrintFieldSelectDlg.MoveSelected(List: TCustomListBox; Items: TStrings);
var
I: Integer;
tempItems: TStringList;
begin
tempItems:=TStringList.Create;
for I := List.Items.Count - 1 downto 0 do
if List.Selected[I] then
begin
tempItems.AddObject(List.Items[I], List.Items.Objects[I]);
List.Items.Delete(I);
end;
for I := tempItems.Count - 1 downto 0 do
begin
Items.AddObject(tempItems.Strings[I], tempItems.Objects[I]);
end;
tempItems.Free;
end;
procedure TPrintFieldSelectDlg.SetButtons;
var
SrcEmpty, DstEmpty: Boolean;
begin
if srclist.Visible=true then
begin
SrcEmpty := SrcList.Items.Count = 0;
DstEmpty := DstList.Items.Count = 0;
IncludeBtn.Enabled := not SrcEmpty;
IncAllBtn.Enabled := not SrcEmpty;
ExcludeBtn.Enabled := not DstEmpty;
ExAllBtn.Enabled := not DstEmpty;
end
else
begin
SrcEmpty := SrcListview.Items.Count = 0;
DstEmpty := DstList.Items.Count = 0;
IncludeBtn.Enabled := not SrcEmpty;
IncAllBtn.Enabled := not SrcEmpty;
ExcludeBtn.Enabled := not DstEmpty;
ExAllBtn.Enabled := not DstEmpty;
end;
end;
function TPrintFieldSelectDlg.GetFirstSelection(List: TCustomListBox): Integer;
begin
for Result := 0 to List.Items.Count - 1 do
if List.Selected[Result] then Exit;
Result := LB_ERR;
end;
procedure TPrintFieldSelectDlg.SetItem(List: TListBox; Index: Integer);
var
MaxIndex: Integer;
begin
with List do
begin
SetFocus;
MaxIndex := List.Items.Count - 1;
if Index = LB_ERR then Index := 0
else if Index > MaxIndex then Index := MaxIndex;
Selected[Index] := True;
end;
SetButtons;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -