|
然 後 我 們 加 入 DataSetAdapter 元 件 , 連 結 到 我 們 的 Orders Table 。

接 下 來 我 們 還 得 新 增 一 個 Page Module , 這 是 用 來 顯 示 一 個 Orders 列 表 的 網 頁 , 我 們 希 望 可 以 讓 使 用 者 選 擇 一 個 PayMethod 後 , 導 向 另 一 個 網 頁 , 在 那 個 網 頁 中 列 出 所 有 符 合 該 PayMethod 的 資 料 , 因 此 我 們 必 須 加 入 一 個 TAdapter 到 這 個 新 增 的 Page Module 中 , 同 時 我 們 也 得 加 入 一 個 DataSetValueList 元 件 , 這 是 用 來 顯 示 經 過 Group 命 令 後 的 Query 。

然 後 我 們 分 別 設 定 dsvlPayMethodList 的 DataSet 為 qyPayMethodList 。 ( 你 必 須 先 uses dmData 這 個 單 元 )

請 開 啟 Adapter1 的 Fields Designer , 加 入 一 個 AdapterField 。

再 開 啟 Adapter1 的 Action Designer , 加 入 一 個 AdapterAction 。

當 使 用 者 執 行 這 個 Action 時 , 我 們 要 將 他 導 向 於 一 個 以 PayMethod 過 濾 資 料 的 網 頁 , 因 此 我 們 必 須 撰 寫 她 的 OnExecute 事 件 :
procedure TGrid.AdaptGoFilterExecute(Sender: TObject; Params: TStrings);
var
AParams:TStringList;
begin
AParams:=TStringList.Create;
AParams.Add(''''FilterValue=''''+AdaptSelectFilter.ActionValue.Values[0]);
RedirectToPageName(''''FilterGrid'''',AParams,Response,[dpPublished]);
end;
FilterGrid 是 我 們 用 來 顯 示 過 濾 結 果 的 網 頁 名 稱 , 稍 後 我 們 再 製 作 這 個 網 頁 , 現 在 讓 我 們 先 設 計 一 下 這 個 Grid 顯 示 方 式 , 首 先 我 們 加 入 CSS 程 式 碼 , 這 可 以 讓 我 們 訂 制 我 們 的 Grid 樣 式 :
.GridTable
{
WIDTH: 100%;
BACKGROUND-COLOR: #8BAADC;
BORDER: 1px SOLID #003388;
}
.GridHeader
{
FONT-WEIGHT: normal;
FONT-SIZE: 9pt;
COLOR: #FFFFFF;
BACKGROUND-COLOR: #60A7DB;
FONT-FAMILY: Arial, Helvetica, SansSerif;
TEXT-DECORATION: none;
}
.GridRow140
{
FONT-FAMILY: Arial, Helvetica, SansSerif;
FONT-WEIGHT: normal;
FONT-SIZE: 9pt;
COLOR: #003388;
BACKGROUND-COLOR: #D6DBB9;
WIDTH=150;
}
.GridRow
{
FONT-FAMILY: Arial, Helvetica, SansSerif;
FONT-WEIGHT: normal;
FONT-SIZE: 9pt;
WIDTH: 100%;
COLOR: #003388;
BACKGROUND-COLOR: #D6DBB9;
}
.GridRowFixed
{
FONT-FAMILY: Arial, Helvetica, SansSerif;
FONT-WEIGHT: normal;
FONT-SIZE: 9pt;
WIDTH: 100%;
COLOR: #FFFFFF;
BACKGROUND-COLOR: #003366;
}
完 成 後 請 開 啟 Visual Page Designer , 並 在 裡 面 加 入 三 個 AdapterForm 。

首 先 我 們 先 設 定 網 頁 標 題 的 圖 形 與 導 覽 列 , 我 們 必 須 使 用 到 Home Module 中 的 ApplicationAdapter 元 件 , 所 以 記 得 要 uses 她 , 完 成 後 在 AdapterForm1 上 按 右 鍵 加 入 一 個 AdapterFieldGroup 及 一 個 AdapterCommandGroup , 設 定 AdapterCommandGroup.DisplayComponent 為 AdapterFieldGroup , 接 著 設 定 AdapterFieldGroup 的 Adapter 為 Home.ApplicationAdapter , 其 它 的 設 定 就 按 照 我 們 設 定 首 頁 的 方 法 設 定 即 可 :

完 成 後 我 們 繼 續 設 定 AdapterForm3 , 請 加 入 一 個 AdapterLayout , 並 設 定 她 的 DisplayColumns 為 2 , 這 可 以 讓 我 們 以 一 列 的 方 式 顯 示 選 擇 PayMethod ComboBox 及 確 定 的 按 紐 , 接 著 在 她 上 面 按 右 鍵 選 擇 新 增 一 個 AdapterFieldGroup 與 一 個 AdapterCommandGroup , 並 將 AdapterCommandGroup2.DisplayComponent 設 為 AdapterFieldGroup2:

然 後 將 AdapterFieldGroup2 的 Adapter 特 性 設 為 Adapter1 。

接 著 在 AdapterForm2 中 加 入 一 個 AdapterGrid , 並 將 她 的 Adapter 設 為 dmData.dsaOrders , 我 們 只 需 要 一 些 簡 要 的 欄 位 , 因 此 請 在 AdapterGrid 上 按 右 鍵 , 選 擇 Add Columns , 並 照 下 圖 選 取 需 要 的 欄 位 :

完 成 後 我 們 要 設 定 AdapterGrid 的 HeaderAttributes,RowAttributes,TableAttributes 中 的 StyleRule 特 性 , 來 改 變 Grid 的 顯 示 樣 式 。

沒 問 題 的 話 , 你 應 該 可 以 看 到 以 下 的 畫 面 :

這 個 Grid 目 前 是 顯 示 全 部 的 資 料 , 我 們 可 以 藉 由 設 定 dsaOrders 中 的 PageSize 來 限 制 一 頁 中 最 多 可 顯 示 的 資 料 筆 數 , 我 將 它 定 為 25 筆 :

我 們 還 得 提 供 讓 使 用 者 可 以 切 換 頁 次 的 Action , 請 回 到 Grid Module 中 , 開 啟 Visual Page Designer 後 在 AdapterForm2 中 加 入 一 個 AdapterCommandGroup , 將 AdapterCommandGroup.DisplayComponent 設 為 AdapterGrid1 。

設 定 好 後 在 AdapterCommandGroup3 上 按 右 鍵 選 擇 Add Commands , 加 入 PrevPage,GotoPage,NextPage 這 三 個 Action 。

設 定 PrevPage 的 Caption 為 上 一 頁 , NextPage 的 Caption 為 下 一 頁 , 這 樣 就 完 成 了 這 個 網 頁 的 設 計 了 , 接 著 再 完 成 FilterGrid 網 頁 就 可 以 完 成 整 個 程 式 了 , 請 新 增 一 個 Page Module , 在 裡 面 放 入 一 個 TAdapter , 並 在 裡 面 加 入 一 個 Action:

接 著 請 開 啟 Visual Page Designer 加 入 兩 個 AdapterForm , 第 一 個 就 照 我 們 之 前 所 做 的 , 設 定 標 題 圖 形 及 導 覽 列 , 第 二 個 就 是 顯 示 一 個 與 Grid Module 中 一 樣 的 Grid , 記 得 將 Grid Module 中 的 Styles 特 性 值 複 製 到 這 個 Module 中 的 AdapterPageProducer.Styles 中 , 同 樣 的 我 們 也 加 入 NextPage,GotoPage,PrevPage 到 這 個 網 頁 中 , 整 個 網 頁 看 起 來 就 像 下 圖 :

接 著 將 Module.DefaultAction.Adapter 及 Module.DefaultAction.Action 分 別 設 為 Adapter1 及 DefaultFilterAction 。

並 撰 寫 以 下 的 事 件 :
procedure TFilterGrid.AdaptDefaultExecute(Sender: TObject;
Params: TStrings);
var
FFilter:string;
begin
FFilter:=Params.Values[''''FilterValue''''];
dmData.dsaOrders.DataSet.Filter:=''''PaymentMethod=''''''''''''+F 上一页 [1] [2] [3] 下一页 [聊天工具]Gmail推出新功能:Web Clip__天极Yesky [聊天工具]Web MSN你玩了吗__天极Yesky [系统软件]Web Browser Express 概述 [系统软件]对Internet Explorer Web 控件做一点修改 [常用软件]小技巧:三步实现Web迅雷录制PPLive节目 [常用软件]天网防火墙:打开WEB和FTP服务 [VB.NET程序]使用VB.Net做一个配置web.config功能的WinForm(原… [VB.NET程序]vb.net控件、web service简述 [VB.NET程序]使用vbscript脚本调用web服务 [VB.NET程序]*** Web 存储系统窗体:窗体注册表 (new)***
|