例如:做一個客戶,以及客戶的0~n個地址
資料庫:
customers (cust_id, name, .... , address_id, ...)
customers_address (address_id, cust_id, name, address.....)
Page: address.php
用 CodeCharge 做一個 address.php
1. 建立一個 grid :address (where cust_id = $_SESSION["UserID"])
address_id, name, address, action
action 裡面 有 修改、刪除 連結
修改:<!-- edit -->
<a href="address.php?address_id={address_id1}&action=edit" class="nav-link-style me-2" data-bs-toggle="tooltip" title="修改"><i class="ci-edit"></i></a>
刪除:<!-- del -->
<a href="address.php?address_id={address_id2}&remove=1" class="nav-link-style text-danger" data-bs-toggle="tooltip" title="移除" onclick="return confirm('{res:are_you_sure}');"><i class="ci-trash"></i></a></td>
2. 再建立一個 record : address (where address_id = URL($_GET["address_id"]))
可以新增、刪除、修改、取消
3. 刪除功能,可以考慮在這個 Record 中處理,或是直接在 grid 中的 del action 中傳到 address.php的頁面 BeforeInitialize 中判斷 action=del處理刪除。
4. 幫 record 建立一個 panel,當有action 新增或修改時,才出現 panel,否則不顯現(visible=false)
5. 可以考慮,grid + record 建立一個 update_panel ,這樣就不用 refresh 頁面
但是,要犧牲在 grid 中刪除的連結,使用 onclick="return confirm('Are You Sure?')" 的功能
不論按確定、還是取消,該連結都會被呼叫(大概是因為身在 update panel 中的關係)
這個現象,只要將 update_panel 拿掉,就好了!
我在做客戶購物網站時,最後還是把 update panel 拿掉了!讓客戶操作便利比較好!
以後在另外尋找兩全其美的辦法吧!
這個頁面1-(0~n)處理應該很多。會常用到,紀錄一下。
Code Charge 其實還蠻好用的,可惜公司已經不再提供新版!
正在考慮找人開發一個工具,或是在找另一個現成的工具!
沒有留言:
張貼留言