App.ActiveSheet.Cells.ColumnWidth := 15;
-----------------------------------------------------------------------------------------------------------------------
如何在quickreport的頁腳對每一頁進行合計
可以添加一個PageFoot Band在上面,在Band上加入QrExpr控件 并把QrExpr的ResetAfterPrint設置為True
如果是多層報表打印小計與合計,則可以利用QRGroup,設置QRGroup的Expression的值,該值就是用來區分小計與合計的值
quickreport實現每頁一個小計,一個累計,緊隨最后一條記錄: 做法:
在PageFooterBand中放兩個QRExpr,上下擺放,
增加一個SummaryBand,SummaryBand中放兩個QRLabel,位置和
PageFooterBand
中的兩個QRExpr一致,然后在SummaryBand的BeforePrint事件中寫上: PageFooterBand.Enabled := False;//記得將屬性設置為True,不然下次打印就不出來了
QRLabel1.Caption := FloatToStr(QRExpr1.Value.dblResult); QRLabel2.Caption := FloatToStr(QRExpr2.Value.dblResult);
-----------------------------------------------------------------------------------------------------------------------
動態為ComboBox添加下拉菜單: 例子:
//添加進度狀態下拉菜單 2011-7-20 cjr
dtp_prog_statedesc.Items.Clear;
dtp_prog_statedesc.Items.Add('ALL');
str_sql:='select prog_statedesc from dbo.pss_progState order by prog_state asc'; with ads_prog_state do begin Close;
CommandText :=str_sql; Open;
while not eof do begin
dtp_prog_statedesc.Items.Add(Fields[0].AsString); Next; end; Close;
end;
if dtp_prog_statedesc.Items.Count > 0 then dtp_prog_statedesc.ItemIndex :=0;
-------------------------------------------------------------------------------------------------------------------
設置按 Enter鍵焦點進入到下一個控件 1.form的KeyPreview屬性設置為true 2.在form的onKeydown或者onKeyPress事件里面添加以下代碼: If key =13 Then
self.Perform(WM_NEXTDLGCTL,0,0);
---------------------------------------------------------------------------------------------------------------------
QuickReport打印報表時強制換頁: 例子:
if not dm_SAL_MidLastInspSumRp.qry_rep.Eof then Rep.NewPage; 注意:數據集必須已經order by
---------------------------------------------------------------------------------------------------------------------
db2里面為數據表新增字段 例子:
ALTER TABLE GSFAB.FAB_STKIN ADD IN_STATE CHAR(1)
ADD SEND_PERSON VARCHAR(20) ADD SEND_TIME TIMESTAMP ADD CHECK_DEPT VARCHAR(20) ADD CHECK_PERSON VARCHAR(20) ADD CHECK_TIME TIMESTAMP
-----------------------------------------------------------------------------------------------------------------------
點擊dbgrid的標題欄,對結果集進行排序 //連接的是bde/query 例子:
procedure Tfrm_Fab_AdvFabCodeIn.DBGrid1TitleClick(Column: TColumn); var
x:integer;
TheField:string; begin
x := column.Index + 1;
TheField := qry_Temp.Fields[x].FieldName;
qry_Temp.Close;
qry_Temp.SQL.Clear;
qry_Temp.SQL.Text := 'select * from GSFAB.FAB_FCODE order by '+ TheField; qry_Temp.Open;
end;
//單擊dBGRID的標題進行排序
procedure TFrm_BMS_JSW_SetRpFieldInB.dbg_jsw_fe_basic_columnTitleClick( Column: TColumn);
begin
With dm_BMS_JSW_SetRpFieldIn Do Begin
If Not ads_bms_jsw_fe_basic_column.Active Then exit; If ads_bms_jsw_fe_basic_column.IndexFieldNames = Column.Field.FieldName Then
ads_bms_jsw_fe_basic_column.IndexFieldNames:=Column.Field.FieldName + ' DESC' Else
ads_bms_jsw_fe_basic_column.IndexFieldNames:=Column.Field.FieldName; End; end;
------------------------------------------------------------------------------------------------------------------------- DB2 創建數據表 例子:
create table GSSAL.SAL_INFERIOR
(
GROUP_SEQ SMALLINT not null, SALE_COMP CHAR(10) not null, ITEM CHAR(20) not null, LOG_ID SMALLINT not null, TRN_DATE DATE not null, TRN_QTY INTEGER WITH DEFAULT 0,
TIME_STAMP TIMESTAMP default current TIMESTAMP,
constraint PK_SAL_INFERIOR primary key
(GROUP_SEQ,SALE_COMP,ITEM,LOG_ID,TRN_DATE) )
in USERSPACE1
index in USERSPACE1
long in USERSPACE1
create table GSSAL.SAL_SALEQTY (
GROUP_SEQ SMALLINT not null, SALE_COMP CHAR(10) not null, ITEM CHAR(20) not null, LOG_ID SMALLINT not null, SALE_DATE DATE not null, SALE_QTY INTEGER WITH DEFAULT 0,
TIME_STAMP TIMESTAMP default current TIMESTAMP, constraint PK_SAL_SALEQTY primary key
(GROUP_SEQ,SALE_COMP,ITEM,LOG_ID,SALE_DATE) )
in USERSPACE1
index in USERSPACE1
long in USERSPACE1
---------------------------------------------------------------------------------------------------------------------------
DecodeDate、DecodeTime ... DecodeDateTime ... 分解時間方法 SysUtils.DecodeDate();
SysUtils.DecodeDateFully(); SysUtils.DecodeTime();
DateUtils.DecodeDateTime();
DateUtils.DecodeDateDay(); DateUtils.DecodeDateWeek();
DateUtils.DecodeDateMonthWeek(); DateUtils.DecodeDayOfWeekInMonth();
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;
type
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject); end; var
Form1: TForm1;
implementation
{$R *.dfm}
uses DateUtils;
procedure TForm1.FormCreate(Sender: TObject); var
t: TDateTime;
Year, Month, Day, Week: Word; Hour, Min, Sec, MSec: Word; begin
t := EncodeDateTime(2009, 5, 21, 11, 22, 33, 999);
DecodeDate(t, Year, Month, Day);
ShowMessageFmt('%d,%d,%d', [Year, Month, Day]); //2009,5,21
DecodeDateFully(t, Year, Month, Day, Week);
ShowMessageFmt('%d,%d,%d,%d', [Year, Month, Day, Week]); //2009,5,21,5; 最后的 5 表示周四
DecodeTime(t, Hour, Min, Sec, MSec);
ShowMessageFmt('%d,%d,%d,%d', [Hour, Min, Sec, MSec]); //11,22,33,999
DecodeDateTime(t, Year, Month, Day, Hour, Min, Sec, MSec);

