feat: fmBcus GridView 改用 ObjectDataSource

- 新增 BcusDAC(SelectPage/SelectCount/SelectBCNUMIndex)

- dsBCUSGrid 改 ObjectDataSource(EnablePaging)

- Search/Selected/DataBound 調整;跳回選取列改用 SelectBCNUMIndex

- 計畫文檔更新盤點與待辦
This commit is contained in:
2026-09-10 10:34:13 +08:00
parent 9adbcfe0a4
commit 5c4e04788b
4 changed files with 141 additions and 40 deletions
+4 -2
View File
@@ -16,7 +16,7 @@
| # | 檔案 | GridView ID | SqlDataSource ID | 來源表 | 既有 DAC | 狀態 |
|---|---|---|---|---|---|---|
| 1 | forms/customer/fmBcus.ascx | gvBCUS | dsBCUSGrid | BCUS | 無 | 待辦 |
| 1 | forms/customer/fmBcus.ascx | gvBCUS | dsBCUSGrid | BCUS | 無→BcusDAC | **完成** |
| 2 | forms/customer/fmBpaa.ascx | gvBPAA | dsBPAAGrid | BPAA | BpaaDAC(無 Select) | 待辦 |
| 3 | forms/customer/fmBpab.ascx | gvBPAB | dsBPABGrid | BPAB | 無 | 待辦 |
| 4 | forms/customer/fmBpabBig.ascx | gvBPAB | dsBPABGrid | BPAB | 無 | 待辦 |
@@ -130,7 +130,8 @@
- [x] fmBPSNfmBpsn.ascx.cs 調整 Search / Selected / OnInit
- [x] fmBPSN:編譯驗證(aspnet_compiler 通過,產出 App_Code.dll
- [ ] fmBPSN:手動功能驗證(各篩選、分頁、跳頁、NODATA)
- [ ] 其餘 23 個 Grid 依樣板陸續轉換(逐檔 commit)
- [x] fmBcus:新增 BcusDACSelectPage/SelectCount/SelectBCNUMIndex);dsBCUSGrid 改 ObjectDataSourceSearch/Selected/DataBound 調整;編譯通過
- [ ] 其餘 22 個 Grid 依樣板陸續轉換(逐檔 commit)
## 變更紀錄
@@ -141,3 +142,4 @@
| 2026-09-10 | 修復 BpsnDAC.cs 亂碼註解(原檔為 Big5,編輯後毀損),自 git HEAD 還原中文註解,並將檔案統一改存為 UTF-8 with BOM;重新編譯通過 |
| 2026-09-10 | 以 LocalDB 合成資料(2 萬/10 萬筆)基準測試舊 SqlDataSource 與新 ObjectDataSource;結果:首頁列數 ~10,000×、記憶體趨近 0、DB 時間約 6×;深頁跳轉 reads 反而增加 |
| 2026-09-10 | 分頁 SQL 形式比較:`BETWEEN``TOP` 相同(無改善);改採 KEYSET(窄集合算 ROWID 再 join 明細)並將 SelectCount/SelectBPENOIndex 改為窄集合。深頁 2,166ms/262萬 reads → 48ms/6,549 readscount 714ms/608,176 reads → 110ms/6,253 readsaspnet_compiler 編譯通過 |
| 2026-09-10 | 轉換 fmBcusBCUS):新增 BcusDACdsBCUSGrid 改 ObjectDataSource;跳回選取列改用 SelectBCNUMIndexaspnet_compiler 編譯通過 |