2.x 可以这样创建报表procedure DrawReportBand(fr: TfrReport; Left, Top, Width, Height: integer; BandType: TfrBandType);
var
b: TfrBandView;
begin
b := TfrBandView.Create;
b.SetBounds(Left, Top, Width, Height);
b.BandType := BandType;
fr.Pages[0].Objects.Add(b); ......
end;3.x 却不认识这些了,请问,3.x里面改怎样弄,哪位高人有示例 、文档,请指点。
var
b: TfrBandView;
begin
b := TfrBandView.Create;
b.SetBounds(Left, Top, Width, Height);
b.BandType := BandType;
fr.Pages[0].Objects.Add(b); ......
end;3.x 却不认识这些了,请问,3.x里面改怎样弄,哪位高人有示例 、文档,请指点。
研究了1整天了,汗。没结果
demo 里面也没有
2.x 里面有,可以都改了,3.x 不知道怎么搞了。
能说一下吗?
你必須使用報表設計器建立大部分的報表,這是一個定律, 不過,在某些案例(例
如, 當報表的格式尚未建立),我們必須透過程式碼的協助手動建立報表。
手動建立報表,應依序執行下列的步驟:
- 清除報表元件的內容
- 加入報表的資料來源
- 加入報表的版面(頁面)
- 加入頁面的報表區段
- 設定區段的屬性,且將它連接至資料
- 加入物件至每一個區段
- 設定物件的屬性,且將它連接至資料
讓我們檢視建立簡單的清單 «list» 報表,假設我們有下列的元件: TfrxReport 及
frxDBDataSet1: TfrxDBDataSet (最後一個元件透過DBDEMOS連接 «Customer.db» 資料
表)。我們的報表包含一頁,裡面有 «Report Title» 及 «Master Data» 區段,在 «Report Title»
區段上面有一個物件顯示 "Hello FastReport!" ,且 «Master Data» 包含一個物件,上面有一
個物件連結至 "CustNo" 欄位。
var
Page: TfrxReportPage;
Band: TfrxBand;
DataBand: TfrxMasterData;
Memo: TfrxMemoView;
{ 清除報表元件的內容 }
frxReport1.Clear;
{ 加入資料集至報表 }
frxReport1.DataSets.Add(frxDBDataSet1);
{ 加入頁面 }
Page := TfrxReportPage.Create(frxReport1);
{ 建立唯一的頁面名稱 }
Page.CreateUniqueName;
{ 設定預設的欄位、紙張大小 }
Page.SetDefaults;
{ 修改紙張的方向 }
Page.Orientation := poLandscape;
{ 加入報表標題區段 }
Band := TfrxReportTitle.Create(Page);
Band.CreateUniqueName;
{ it is sufficient to set the «Top» coordinate and height for a
band }
{ 座標的單位採用像素(pixels) }
Band.Top := 0;
Band.Height := 20;
{加入物件至報表標題區段 }
Memo := TfrxMemoView.Create(Band);
Memo.CreateUniqueName;
Memo.Text := 'Hello FastReport!';
Memo.Height := 20;
{ 物件自動調整大小與區段同寬 }
Memo.Align := baWidth;
{ 加入主資料區段 }
DataBand := TfrxMasterData.Create(Page);
DataBand.CreateUniqueName;
DataBand.DataSet := frxDBDataSet1;
{ Top 座標必須大於前一個加入區段的top + height}
DataBand.Top := 100;
DataBand.Height := 20;
{ 加入物件至主資料區段 }
Memo := TfrxMemoView.Create(DataBand);
Memo.CreateUniqueName;
{ 連接至資料 }
Memo.DataSet := frxDBDataSet1;
Memo.DataField := 'CustNo';
Memo.SetBounds(0, 0, 100, 20);
{ 調整文字至物件的右邊界 }
Memo.HAlign := haRight;
{ 顯示報表 }
frxReport1.ShowReport;
马上试,好了结帐! 悲喜交加! 太感谢了 !!^*@^#*@^#@*^#(@$
swei56(泥巴) swei56(泥巴) swei56(泥巴) swei56(泥巴) swei56(泥巴) swei56(泥巴)。
结贴了。
祝swei56(泥巴)愉快,祝大家愉快!